@microsoft/agents-hosting-storage-cosmos 1.8.1 → 1.9.0-beta.18.g6b8111bba5
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 +13 -3
- package/dist/package.json +4 -4
- package/dist/src/cosmosDbPartitionedStorage.d.ts +3 -2
- package/dist/src/cosmosDbPartitionedStorage.js +33 -2
- package/dist/src/cosmosDbPartitionedStorage.js.map +1 -1
- package/dist/src/documentStoreItem.d.ts +10 -0
- package/dist/src/documentStoreItem.js +2 -0
- package/dist/src/documentStoreItem.js.map +1 -1
- package/package.json +4 -4
- package/src/cosmosDbPartitionedStorage.ts +38 -3
- package/src/documentStoreItem.ts +11 -1
package/README.md
CHANGED
|
@@ -16,6 +16,16 @@ const cosmosDbStorageOptions = {
|
|
|
16
16
|
}
|
|
17
17
|
} as CosmosDbPartitionedStorageOptions
|
|
18
18
|
const cosmosStorage = new CosmosDbPartitionedStorage(cosmosDbStorageOptions)
|
|
19
|
-
const conversationState = new ConversationState(cosmosStorage)
|
|
20
|
-
const userState = new UserState(cosmosStorage)
|
|
21
|
-
```
|
|
19
|
+
const conversationState = new ConversationState(cosmosStorage)
|
|
20
|
+
const userState = new UserState(cosmosStorage)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## TTL writes
|
|
24
|
+
|
|
25
|
+
`CosmosDbPartitionedStorage` supports the shared storage TTL option:
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
await cosmosStorage.write({ 'session/123': { value: 'temporary' } }, { ttl: 3600 })
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The provider stores Cosmos DB item-level TTL on the wrapper document and also enforces logical expiry during reads.
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@microsoft/agents-hosting-storage-cosmos",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.9.0-beta.18.g6b8111bba5",
|
|
5
5
|
"homepage": "https://github.com/microsoft/Agents-for-js",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"types": "dist/src/index.d.ts",
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@azure/cosmos": "4.9.3",
|
|
20
|
-
"@microsoft/agents-hosting": "1.
|
|
21
|
-
"@microsoft/agents-activity": "1.
|
|
22
|
-
"@microsoft/agents-telemetry": "1.
|
|
20
|
+
"@microsoft/agents-hosting": "1.9.0-beta.18.g6b8111bba5",
|
|
21
|
+
"@microsoft/agents-activity": "1.9.0-beta.18.g6b8111bba5",
|
|
22
|
+
"@microsoft/agents-telemetry": "1.9.0-beta.18.g6b8111bba5"
|
|
23
23
|
},
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"files": [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CosmosDbPartitionedStorageOptions } from './cosmosDbPartitionedStorageOptions';
|
|
2
|
-
import { Storage, StoreItems } from '@microsoft/agents-hosting';
|
|
2
|
+
import { Storage, StorageWriteOptions, StoreItems } from '@microsoft/agents-hosting';
|
|
3
3
|
/**
|
|
4
4
|
* Implements storage using Cosmos DB partitioned storage.
|
|
5
5
|
*/
|
|
@@ -28,7 +28,7 @@ export declare class CosmosDbPartitionedStorage implements Storage {
|
|
|
28
28
|
* Writes items to storage.
|
|
29
29
|
* @param changes The items to write.
|
|
30
30
|
*/
|
|
31
|
-
write(changes: StoreItems): Promise<void>;
|
|
31
|
+
write(changes: StoreItems, options?: StorageWriteOptions): Promise<void>;
|
|
32
32
|
/**
|
|
33
33
|
* Deletes items from storage.
|
|
34
34
|
* @param keys The keys of the items to delete.
|
|
@@ -40,5 +40,6 @@ export declare class CosmosDbPartitionedStorage implements Storage {
|
|
|
40
40
|
private initialize;
|
|
41
41
|
private getOrCreateContainer;
|
|
42
42
|
private getPartitionKey;
|
|
43
|
+
private isExpired;
|
|
43
44
|
private checkForNestingError;
|
|
44
45
|
}
|
|
@@ -6,6 +6,7 @@ exports.CosmosDbPartitionedStorage = void 0;
|
|
|
6
6
|
const cosmos_1 = require("@azure/cosmos");
|
|
7
7
|
const cosmosDbKeyEscape_1 = require("./cosmosDbKeyEscape");
|
|
8
8
|
const documentStoreItem_1 = require("./documentStoreItem");
|
|
9
|
+
const agents_hosting_1 = require("@microsoft/agents-hosting");
|
|
9
10
|
const agents_activity_1 = require("@microsoft/agents-activity");
|
|
10
11
|
const errorHelper_1 = require("./errorHelper");
|
|
11
12
|
const agents_telemetry_1 = require("@microsoft/agents-telemetry");
|
|
@@ -71,6 +72,17 @@ class DoOnce {
|
|
|
71
72
|
}
|
|
72
73
|
const _doOnce = new DoOnce(maxCachedInitializations);
|
|
73
74
|
const maxDepthAllowed = 127;
|
|
75
|
+
async function ignoreCosmosErrors(operation, ...ignoredCodes) {
|
|
76
|
+
const ignored = new Set(ignoredCodes);
|
|
77
|
+
try {
|
|
78
|
+
await operation;
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
if (!ignored.has(err.code)) {
|
|
82
|
+
throw err;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
74
86
|
function isNotFoundError(err) {
|
|
75
87
|
if (!err || typeof err !== 'object' || !('code' in err)) {
|
|
76
88
|
return false;
|
|
@@ -159,6 +171,18 @@ class CosmosDbPartitionedStorage {
|
|
|
159
171
|
.read();
|
|
160
172
|
const documentStoreItem = readItemResponse.resource;
|
|
161
173
|
if (documentStoreItem) {
|
|
174
|
+
if (this.isExpired(documentStoreItem)) {
|
|
175
|
+
logger.info('Document expired, deleting from storage', {
|
|
176
|
+
key: (0, agents_telemetry_1.redactString)(k, true),
|
|
177
|
+
documentId: (0, agents_telemetry_1.redactString)(documentStoreItem.id, true),
|
|
178
|
+
eTag: (0, agents_telemetry_1.redactString)(documentStoreItem._etag, true),
|
|
179
|
+
expiresAt: documentStoreItem.expiresAt,
|
|
180
|
+
});
|
|
181
|
+
await ignoreCosmosErrors(this.container.item(escapedKey, this.getPartitionKey(escapedKey)).delete({
|
|
182
|
+
accessCondition: { type: 'IfMatch', condition: documentStoreItem._etag }
|
|
183
|
+
}), 404, 412);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
162
186
|
storeItems[documentStoreItem.realId] = documentStoreItem.document;
|
|
163
187
|
storeItems[documentStoreItem.realId].eTag = documentStoreItem._etag;
|
|
164
188
|
}
|
|
@@ -182,14 +206,15 @@ class CosmosDbPartitionedStorage {
|
|
|
182
206
|
* Writes items to storage.
|
|
183
207
|
* @param changes The items to write.
|
|
184
208
|
*/
|
|
185
|
-
async write(changes) {
|
|
209
|
+
async write(changes, options) {
|
|
186
210
|
return (0, agents_telemetry_1.trace)(observability_1.CosmosStorageTraceDefinitions.write, async ({ record }) => {
|
|
187
211
|
if (!changes) {
|
|
188
212
|
throw agents_activity_1.ExceptionHelper.generateException(ReferenceError, errorHelper_1.Errors.MissingWriteChanges);
|
|
189
213
|
}
|
|
190
|
-
else if (changes.length === 0) {
|
|
214
|
+
else if (Object.keys(changes).length === 0) {
|
|
191
215
|
return;
|
|
192
216
|
}
|
|
217
|
+
const expiresAt = (0, agents_hosting_1.getStorageWriteExpiry)(options);
|
|
193
218
|
record({ keyCount: Object.keys(changes).length });
|
|
194
219
|
await this.initialize();
|
|
195
220
|
await Promise.all(Object.entries(changes).map(async ([key, { eTag, ...change }]) => {
|
|
@@ -197,6 +222,8 @@ class CosmosDbPartitionedStorage {
|
|
|
197
222
|
id: (0, cosmosDbKeyEscape_1.escapeKey)(key, this.cosmosDbStorageOptions.keySuffix, this.cosmosDbStorageOptions.compatibilityMode),
|
|
198
223
|
realId: key,
|
|
199
224
|
document: change,
|
|
225
|
+
ttl: (options === null || options === void 0 ? void 0 : options.ttl) === undefined ? undefined : Math.ceil(options.ttl),
|
|
226
|
+
expiresAt,
|
|
200
227
|
});
|
|
201
228
|
const accessCondition = eTag !== '*' && eTag != null && eTag.length > 0
|
|
202
229
|
? { accessCondition: { type: 'IfMatch', condition: eTag } }
|
|
@@ -298,6 +325,7 @@ class CosmosDbPartitionedStorage {
|
|
|
298
325
|
partitionKey: {
|
|
299
326
|
paths: [documentStoreItem_1.DocumentStoreItem.partitionKeyPath],
|
|
300
327
|
},
|
|
328
|
+
defaultTtl: -1,
|
|
301
329
|
throughput: this.cosmosDbStorageOptions.containerThroughput,
|
|
302
330
|
});
|
|
303
331
|
return { container: result.container, compatibilityModePartitionKey };
|
|
@@ -317,6 +345,9 @@ class CosmosDbPartitionedStorage {
|
|
|
317
345
|
getPartitionKey(key) {
|
|
318
346
|
return this.compatibilityModePartitionKey ? undefined : key;
|
|
319
347
|
}
|
|
348
|
+
isExpired(item) {
|
|
349
|
+
return item.expiresAt !== undefined && item.expiresAt <= Date.now();
|
|
350
|
+
}
|
|
320
351
|
checkForNestingError(json, err) {
|
|
321
352
|
const ancestors = new WeakSet();
|
|
322
353
|
const checkDepth = (obj, depth, isInDialogState) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmosDbPartitionedStorage.js","sourceRoot":"","sources":["../../src/cosmosDbPartitionedStorage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cosmosDbPartitionedStorage.js","sourceRoot":"","sources":["../../src/cosmosDbPartitionedStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,14 @@ export declare class DocumentStoreItem {
|
|
|
22
22
|
* The ETag of the document.
|
|
23
23
|
*/
|
|
24
24
|
eTag: string;
|
|
25
|
+
/**
|
|
26
|
+
* Cosmos DB item-level time to live in seconds.
|
|
27
|
+
*/
|
|
28
|
+
ttl?: number;
|
|
29
|
+
/**
|
|
30
|
+
* SDK-managed absolute expiry timestamp in milliseconds.
|
|
31
|
+
*/
|
|
32
|
+
expiresAt?: number;
|
|
25
33
|
/**
|
|
26
34
|
* Gets the partition key.
|
|
27
35
|
*/
|
|
@@ -35,5 +43,7 @@ export declare class DocumentStoreItem {
|
|
|
35
43
|
realId: string;
|
|
36
44
|
document: object;
|
|
37
45
|
eTag?: string;
|
|
46
|
+
ttl?: number;
|
|
47
|
+
expiresAt?: number;
|
|
38
48
|
});
|
|
39
49
|
}
|
|
@@ -28,6 +28,8 @@ class DocumentStoreItem {
|
|
|
28
28
|
this.realId = storeItem.realId || '';
|
|
29
29
|
this.document = storeItem.document || {};
|
|
30
30
|
this.eTag = storeItem.eTag || '';
|
|
31
|
+
this.ttl = storeItem.ttl;
|
|
32
|
+
this.expiresAt = storeItem.expiresAt;
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
35
|
exports.DocumentStoreItem = DocumentStoreItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentStoreItem.js","sourceRoot":"","sources":["../../src/documentStoreItem.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAElC;;GAEG;AACH;IACE;;OAEG;IACH,MAAM,KAAK,gBAAgB;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;
|
|
1
|
+
{"version":3,"file":"documentStoreItem.js","sourceRoot":"","sources":["../../src/documentStoreItem.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAElC;;GAEG;AACH;IACE;;OAEG;IACH,MAAM,KAAK,gBAAgB;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IA2BD;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAED;;;OAGG;IACH,YAAa,SAA4G;QACvH,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAA;QACxC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAA;QAChC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IACtC,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@microsoft/agents-hosting-storage-cosmos",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.9.0-beta.18.g6b8111bba5",
|
|
5
5
|
"homepage": "https://github.com/microsoft/Agents-for-js",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"types": "dist/src/index.d.ts",
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@azure/cosmos": "4.9.3",
|
|
20
|
-
"@microsoft/agents-hosting": "1.
|
|
21
|
-
"@microsoft/agents-activity": "1.
|
|
22
|
-
"@microsoft/agents-telemetry": "1.
|
|
20
|
+
"@microsoft/agents-hosting": "1.9.0-beta.18.g6b8111bba5",
|
|
21
|
+
"@microsoft/agents-activity": "1.9.0-beta.18.g6b8111bba5",
|
|
22
|
+
"@microsoft/agents-telemetry": "1.9.0-beta.18.g6b8111bba5"
|
|
23
23
|
},
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"files": [
|
|
@@ -5,7 +5,7 @@ import { Container, CosmosClient } from '@azure/cosmos'
|
|
|
5
5
|
import { escapeKey } from './cosmosDbKeyEscape'
|
|
6
6
|
import { DocumentStoreItem } from './documentStoreItem'
|
|
7
7
|
import { CosmosDbPartitionedStorageOptions } from './cosmosDbPartitionedStorageOptions'
|
|
8
|
-
import { Storage, StoreItems } from '@microsoft/agents-hosting'
|
|
8
|
+
import { getStorageWriteExpiry, Storage, StorageWriteOptions, StoreItems } from '@microsoft/agents-hosting'
|
|
9
9
|
import { ExceptionHelper } from '@microsoft/agents-activity'
|
|
10
10
|
import { Errors } from './errorHelper'
|
|
11
11
|
import { trace, redactString } from '@microsoft/agents-telemetry'
|
|
@@ -89,6 +89,17 @@ const _doOnce: DoOnce<ContainerInitialization> = new DoOnce<ContainerInitializat
|
|
|
89
89
|
|
|
90
90
|
const maxDepthAllowed = 127
|
|
91
91
|
|
|
92
|
+
async function ignoreCosmosErrors (operation: Promise<unknown>, ...ignoredCodes: number[]): Promise<void> {
|
|
93
|
+
const ignored = new Set(ignoredCodes)
|
|
94
|
+
try {
|
|
95
|
+
await operation
|
|
96
|
+
} catch (err: any) {
|
|
97
|
+
if (!ignored.has(err.code)) {
|
|
98
|
+
throw err
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
92
103
|
function isNotFoundError (err: unknown): boolean {
|
|
93
104
|
if (!err || typeof err !== 'object' || !('code' in err)) {
|
|
94
105
|
return false
|
|
@@ -218,6 +229,22 @@ export class CosmosDbPartitionedStorage implements Storage {
|
|
|
218
229
|
.read<DocumentStoreItem>()
|
|
219
230
|
const documentStoreItem = readItemResponse.resource
|
|
220
231
|
if (documentStoreItem) {
|
|
232
|
+
if (this.isExpired(documentStoreItem)) {
|
|
233
|
+
logger.info('Document expired, deleting from storage', {
|
|
234
|
+
key: redactString(k, true),
|
|
235
|
+
documentId: redactString(documentStoreItem.id, true),
|
|
236
|
+
eTag: redactString(documentStoreItem._etag, true),
|
|
237
|
+
expiresAt: documentStoreItem.expiresAt,
|
|
238
|
+
})
|
|
239
|
+
await ignoreCosmosErrors(
|
|
240
|
+
this.container.item(escapedKey, this.getPartitionKey(escapedKey)).delete({
|
|
241
|
+
accessCondition: { type: 'IfMatch', condition: documentStoreItem._etag }
|
|
242
|
+
}),
|
|
243
|
+
404,
|
|
244
|
+
412
|
|
245
|
+
)
|
|
246
|
+
return
|
|
247
|
+
}
|
|
221
248
|
storeItems[documentStoreItem.realId] = documentStoreItem.document
|
|
222
249
|
storeItems[documentStoreItem.realId].eTag = documentStoreItem._etag
|
|
223
250
|
}
|
|
@@ -249,17 +276,18 @@ export class CosmosDbPartitionedStorage implements Storage {
|
|
|
249
276
|
* Writes items to storage.
|
|
250
277
|
* @param changes The items to write.
|
|
251
278
|
*/
|
|
252
|
-
async write (changes: StoreItems): Promise<void> {
|
|
279
|
+
async write (changes: StoreItems, options?: StorageWriteOptions): Promise<void> {
|
|
253
280
|
return trace(CosmosStorageTraceDefinitions.write, async ({ record }) => {
|
|
254
281
|
if (!changes) {
|
|
255
282
|
throw ExceptionHelper.generateException(
|
|
256
283
|
ReferenceError,
|
|
257
284
|
Errors.MissingWriteChanges
|
|
258
285
|
)
|
|
259
|
-
} else if (changes.length === 0) {
|
|
286
|
+
} else if (Object.keys(changes).length === 0) {
|
|
260
287
|
return
|
|
261
288
|
}
|
|
262
289
|
|
|
290
|
+
const expiresAt = getStorageWriteExpiry(options)
|
|
263
291
|
record({ keyCount: Object.keys(changes).length })
|
|
264
292
|
|
|
265
293
|
await this.initialize()
|
|
@@ -274,6 +302,8 @@ export class CosmosDbPartitionedStorage implements Storage {
|
|
|
274
302
|
),
|
|
275
303
|
realId: key,
|
|
276
304
|
document: change,
|
|
305
|
+
ttl: options?.ttl === undefined ? undefined : Math.ceil(options.ttl),
|
|
306
|
+
expiresAt,
|
|
277
307
|
})
|
|
278
308
|
|
|
279
309
|
const accessCondition =
|
|
@@ -401,6 +431,7 @@ export class CosmosDbPartitionedStorage implements Storage {
|
|
|
401
431
|
partitionKey: {
|
|
402
432
|
paths: [DocumentStoreItem.partitionKeyPath],
|
|
403
433
|
},
|
|
434
|
+
defaultTtl: -1,
|
|
404
435
|
throughput: this.cosmosDbStorageOptions.containerThroughput,
|
|
405
436
|
})
|
|
406
437
|
return { container: result.container, compatibilityModePartitionKey }
|
|
@@ -432,6 +463,10 @@ export class CosmosDbPartitionedStorage implements Storage {
|
|
|
432
463
|
return this.compatibilityModePartitionKey ? undefined : key
|
|
433
464
|
}
|
|
434
465
|
|
|
466
|
+
private isExpired (item: DocumentStoreItem): boolean {
|
|
467
|
+
return item.expiresAt !== undefined && item.expiresAt <= Date.now()
|
|
468
|
+
}
|
|
469
|
+
|
|
435
470
|
private checkForNestingError (json: object, err: Error | Record<'message', string> | string): void {
|
|
436
471
|
const ancestors = new WeakSet<object>()
|
|
437
472
|
|
package/src/documentStoreItem.ts
CHANGED
|
@@ -28,6 +28,14 @@ export class DocumentStoreItem {
|
|
|
28
28
|
* The ETag of the document.
|
|
29
29
|
*/
|
|
30
30
|
eTag: string
|
|
31
|
+
/**
|
|
32
|
+
* Cosmos DB item-level time to live in seconds.
|
|
33
|
+
*/
|
|
34
|
+
ttl?: number
|
|
35
|
+
/**
|
|
36
|
+
* SDK-managed absolute expiry timestamp in milliseconds.
|
|
37
|
+
*/
|
|
38
|
+
expiresAt?: number
|
|
31
39
|
|
|
32
40
|
/**
|
|
33
41
|
* Gets the partition key.
|
|
@@ -40,10 +48,12 @@ export class DocumentStoreItem {
|
|
|
40
48
|
* Initializes a new instance of the DocumentStoreItem class.
|
|
41
49
|
* @param storeItem The store item to initialize.
|
|
42
50
|
*/
|
|
43
|
-
constructor (storeItem: { id: string; realId: string; document: object; eTag?: string }) {
|
|
51
|
+
constructor (storeItem: { id: string; realId: string; document: object; eTag?: string; ttl?: number; expiresAt?: number }) {
|
|
44
52
|
this.id = storeItem.id
|
|
45
53
|
this.realId = storeItem.realId || ''
|
|
46
54
|
this.document = storeItem.document || {}
|
|
47
55
|
this.eTag = storeItem.eTag || ''
|
|
56
|
+
this.ttl = storeItem.ttl
|
|
57
|
+
this.expiresAt = storeItem.expiresAt
|
|
48
58
|
}
|
|
49
59
|
}
|