@microsoft/agents-hosting-storage-blob 1.7.2 → 1.8.0-beta.34.g5d543f96c0

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 CHANGED
@@ -7,7 +7,7 @@ This package allows to configure Azure Blob Storage as the backend for Agents co
7
7
  ## Usage with connectionStrings
8
8
 
9
9
  ```ts
10
- const blobStorage = new BlobStorage(process.env.BLOB_STORAGE_CONNECTION_STRING!, process.env.BLOB_CONTAINER_ID!)
10
+ const blobStorage = new BlobsStorage(process.env.BLOB_CONTAINER_ID!, process.env.BLOB_STORAGE_CONNECTION_STRING!)
11
11
  const conversationState = new ConversationState(blobStorage)
12
12
  const userState = new UserState(blobStorage)
13
13
  ```
@@ -23,4 +23,4 @@ const echo = new AgentApplication<TurnState>({
23
23
  'https://agentsstate.blob.core.windows.net/nodejs-conversations',
24
24
  new MsalTokenCredential(loadAuthConfigFromEnv()))
25
25
  })
26
- ```
26
+ ```
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-blob",
4
- "version": "1.7.2",
4
+ "version": "1.8.0-beta.34.g5d543f96c0",
5
5
  "homepage": "https://github.com/microsoft/Agents-for-js",
6
6
  "repository": {
7
7
  "type": "git",
@@ -13,14 +13,14 @@
13
13
  "url": "https://aka.ms/Agents"
14
14
  },
15
15
  "description": "Microsoft 365 Agents SDK State Blob Storage support.",
16
- "main": "dist/index.js",
16
+ "main": "dist/src/index.js",
17
17
  "types": "dist/src/index.d.ts",
18
18
  "dependencies": {
19
19
  "@azure/core-auth": "1.10.1",
20
20
  "@azure/storage-blob": "12.31.0",
21
- "@microsoft/agents-hosting": "1.7.2",
22
- "@microsoft/agents-activity": "1.7.2",
23
- "@microsoft/agents-telemetry": "1.7.2",
21
+ "@microsoft/agents-hosting": "1.8.0-beta.34.g5d543f96c0",
22
+ "@microsoft/agents-activity": "1.8.0-beta.34.g5d543f96c0",
23
+ "@microsoft/agents-telemetry": "1.8.0-beta.34.g5d543f96c0",
24
24
  "zod": "3.25.75"
25
25
  },
26
26
  "license": "MIT",
@@ -64,7 +64,7 @@ class BlobsStorage {
64
64
  */
65
65
  constructor(containerName, connectionString, options, url = '', credential) {
66
66
  this._concurrency = Infinity;
67
- if (url !== '' && credential != null) {
67
+ if (url.trim() !== '') {
68
68
  z.object({ url: z.string() }).parse({
69
69
  url,
70
70
  });
@@ -86,7 +86,7 @@ class BlobsStorage {
86
86
  logger.info('BlobsStorage settings loaded', {
87
87
  container: containerName,
88
88
  connection: {
89
- mode: (0, core_auth_1.isTokenCredential)(credential) ? 'tokenCredential' : 'connectionString',
89
+ mode: (0, core_auth_1.isTokenCredential)(credential) ? 'tokenCredential' : url.trim() !== '' ? 'url' : 'connectionString',
90
90
  type: (url.trim() !== '' ? url : connectionString).trim() === 'UseDevelopmentStorage=true;' ? 'development' : 'production',
91
91
  },
92
92
  pipeline: (options === null || options === void 0 ? void 0 : options.storagePipelineOptions) !== undefined ? 'custom' : 'default',
@@ -1 +1 @@
1
- {"version":3,"file":"blobsStorage.js","sourceRoot":"","sources":["../../src/blobsStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blobsStorage.js","sourceRoot":"","sources":["../../src/blobsStorage.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export interface BlobsTranscriptStoreOptions {
45
45
  */
46
46
  storagePipelineOptions?: StoragePipelineOptions;
47
47
  /**
48
- * Indicates whether to decode the transcript key when retrieving transcripts.
48
+ * Indicates whether to decode a transcript key when supplied to an operation.
49
49
  */
50
50
  decodeTranscriptKey?: boolean;
51
51
  }
@@ -56,7 +56,6 @@ export declare class BlobsTranscriptStore implements TranscriptStore {
56
56
  private readonly _containerClient;
57
57
  private readonly _concurrency;
58
58
  private _initializePromise?;
59
- private _isDecodeTranscriptKey?;
60
59
  /**
61
60
  * Constructs a new instance of the BlobsTranscriptStore class.
62
61
  *
@@ -98,7 +97,7 @@ export declare class BlobsTranscriptStore implements TranscriptStore {
98
97
  * Logs an activity to the transcript store.
99
98
  *
100
99
  * @param activity - The activity to log.
101
- * @param options - Optional configuration options for the operation.
100
+ * @param options - Optional configuration for this activity.
102
101
  * @returns A promise that resolves when the activity is logged.
103
102
  */
104
103
  logActivity(activity: Activity, options?: BlobsTranscriptStoreOptions): Promise<void>;
@@ -45,6 +45,7 @@ const errorHelper_1 = require("./errorHelper");
45
45
  const storage_blob_1 = require("@azure/storage-blob");
46
46
  const agents_telemetry_1 = require("@microsoft/agents-telemetry");
47
47
  const logger = (0, agents_telemetry_1.debug)('agents:blob-transcript-store');
48
+ const ENCODED_PATH_SEPARATOR = encodeURIComponent('/');
48
49
  /**
49
50
  * Formats a Date object into a hexadecimal string representing ticks.
50
51
  * @param timestamp - The Date object to format.
@@ -62,7 +63,8 @@ function formatTicks(timestamp) {
62
63
  * @returns A sanitized string prefix for the channel.
63
64
  */
64
65
  function getChannelPrefix(channelId) {
65
- return sanitizeBlobKey(`${channelId}/`);
66
+ // sanitizeBlobKey removes trailing separators, so restore the encoded separator to avoid matching "channel2".
67
+ return `${sanitizeBlobKey(channelId)}${ENCODED_PATH_SEPARATOR}`;
66
68
  }
67
69
  /**
68
70
  * Generates a sanitized prefix for a conversation within a channel.
@@ -71,7 +73,8 @@ function getChannelPrefix(channelId) {
71
73
  * @returns A sanitized string prefix for the conversation.
72
74
  */
73
75
  function getConversationPrefix(channelId, conversationId) {
74
- return sanitizeBlobKey(`${channelId}/${conversationId}`);
76
+ // sanitizeBlobKey removes trailing separators, so restore the encoded separator to avoid matching "conv2".
77
+ return `${sanitizeBlobKey(`${channelId}/${conversationId}`)}${ENCODED_PATH_SEPARATOR}`;
75
78
  }
76
79
  function getBlobKey(activity, options) {
77
80
  var _a;
@@ -157,6 +160,15 @@ function maybeCast(value, ctor) {
157
160
  }
158
161
  return value;
159
162
  }
163
+ function getConversationId(blobName) {
164
+ try {
165
+ const [, conversationId] = decodeURIComponent(blobName).split('/').filter(Boolean);
166
+ return conversationId;
167
+ }
168
+ catch {
169
+ return undefined;
170
+ }
171
+ }
160
172
  const MAX_PAGE_SIZE = 20;
161
173
  /**
162
174
  * A class that implements the TranscriptStore interface using Azure Blob Storage.
@@ -173,7 +185,6 @@ class BlobsTranscriptStore {
173
185
  */
174
186
  constructor(connectionString, containerName, options, blobServiceUri = '', tokenCredential) {
175
187
  this._concurrency = Infinity;
176
- this._isDecodeTranscriptKey = false;
177
188
  if (blobServiceUri !== '' && tokenCredential !== null) {
178
189
  z.object({ blobServiceUri: z.string() }).parse({
179
190
  blobServiceUri,
@@ -193,7 +204,6 @@ class BlobsTranscriptStore {
193
204
  this._concurrency = 1;
194
205
  }
195
206
  }
196
- this._isDecodeTranscriptKey = options === null || options === void 0 ? void 0 : options.decodeTranscriptKey;
197
207
  logger.info('BlobsTranscriptStore settings loaded', {
198
208
  container: containerName,
199
209
  connection: {
@@ -201,7 +211,7 @@ class BlobsTranscriptStore {
201
211
  type: (blobServiceUri || connectionString).trim() === 'UseDevelopmentStorage=true;' ? 'development' : 'production',
202
212
  },
203
213
  pipeline: (options === null || options === void 0 ? void 0 : options.storagePipelineOptions) !== undefined ? 'custom' : 'default',
204
- transcriptKey: this._isDecodeTranscriptKey ? 'decoded' : 'encoded',
214
+ transcriptKey: 'encoded',
205
215
  });
206
216
  }
207
217
  _initialize() {
@@ -226,15 +236,16 @@ class BlobsTranscriptStore {
226
236
  const prefix = getConversationPrefix(channelId, conversationId);
227
237
  logger.debug('Using conversation prefix', { prefix });
228
238
  const iter = this._containerClient
229
- .listBlobsByHierarchy('/', {
239
+ .listBlobsFlat({
230
240
  prefix,
231
241
  })
232
242
  .byPage({ continuationToken, maxPageSize: MAX_PAGE_SIZE });
233
- let page = await iter.next();
243
+ const page = await iter.next();
234
244
  const result = [];
235
- let response;
236
- while (!page.done) {
237
- response = maybeCast((_a = page === null || page === void 0 ? void 0 : page.value) !== null && _a !== void 0 ? _a : {});
245
+ const response = page.done
246
+ ? undefined
247
+ : maybeCast((_a = page.value) !== null && _a !== void 0 ? _a : {});
248
+ if (response) {
238
249
  const blobItems = (_c = (_b = response === null || response === void 0 ? void 0 : response.segment) === null || _b === void 0 ? void 0 : _b.blobItems) !== null && _c !== void 0 ? _c : [];
239
250
  logger.debug('Fetched blob items', { blobCount: blobItems.length });
240
251
  const fromIdx = startDate != null
@@ -256,7 +267,6 @@ class BlobsTranscriptStore {
256
267
  result.push(activity);
257
268
  });
258
269
  }
259
- page = await iter.next();
260
270
  }
261
271
  logger.debug('Total transcript activities fetched', { activityCount: result.length });
262
272
  return {
@@ -276,31 +286,36 @@ class BlobsTranscriptStore {
276
286
  z.object({ channelId: z.string() }).parse({ channelId });
277
287
  await this._initialize();
278
288
  const iter = this._containerClient
279
- .listBlobsByHierarchy('/', {
289
+ .listBlobsFlat({
280
290
  prefix: getChannelPrefix(channelId),
291
+ includeMetadata: true,
281
292
  })
282
293
  .byPage({ continuationToken, maxPageSize: MAX_PAGE_SIZE });
283
- let page = await iter.next();
284
- const result = [];
285
- let response;
286
- while (!page.done) {
287
- const response = maybeCast((_a = page === null || page === void 0 ? void 0 : page.value) !== null && _a !== void 0 ? _a : {});
294
+ const page = await iter.next();
295
+ const transcripts = new Map();
296
+ const response = page.done
297
+ ? undefined
298
+ : maybeCast((_a = page.value) !== null && _a !== void 0 ? _a : {});
299
+ if (response) {
288
300
  const blobItems = (_c = (_b = response === null || response === void 0 ? void 0 : response.segment) === null || _b === void 0 ? void 0 : _b.blobItems) !== null && _c !== void 0 ? _c : [];
289
- const items = blobItems.map((blobItem) => {
290
- var _a;
291
- const [, id] = decodeURIComponent(blobItem.name).split('/');
292
- const created = ((_a = blobItem.metadata) === null || _a === void 0 ? void 0 : _a.timestamp) ? new Date(blobItem.metadata.timestamp) : new Date();
293
- return { channelId, created, id };
301
+ blobItems.forEach((blobItem) => {
302
+ var _a, _b, _c;
303
+ const id = getConversationId(blobItem.name);
304
+ if (!id) {
305
+ return;
306
+ }
307
+ const metadataTimestamp = (_b = (_a = blobItem.metadata) === null || _a === void 0 ? void 0 : _a.timestamp) !== null && _b !== void 0 ? _b : (_c = blobItem.metadata) === null || _c === void 0 ? void 0 : _c.Timestamp;
308
+ const parsedCreated = metadataTimestamp ? new Date(metadataTimestamp) : undefined;
309
+ const created = parsedCreated && !Number.isNaN(parsedCreated.getTime()) ? parsedCreated : new Date();
310
+ const existing = transcripts.get(id);
311
+ if (!existing || created < existing.created) {
312
+ transcripts.set(id, { channelId, created, id });
313
+ }
294
314
  });
295
- items.forEach((transcript) => {
296
- if (transcript)
297
- result.push(transcript);
298
- });
299
- page = await iter.next();
300
315
  }
301
316
  return {
302
317
  continuationToken: (_d = response === null || response === void 0 ? void 0 : response.continuationToken) !== null && _d !== void 0 ? _d : '',
303
- items: result !== null && result !== void 0 ? result : [],
318
+ items: [...transcripts.values()],
304
319
  };
305
320
  }
306
321
  /**
@@ -315,12 +330,10 @@ class BlobsTranscriptStore {
315
330
  z.object({ channelId: z.string(), conversationId: z.string() }).parse({ channelId, conversationId });
316
331
  await this._initialize();
317
332
  const iter = this._containerClient
318
- .listBlobsByHierarchy('/', {
333
+ .listBlobsFlat({
319
334
  prefix: getConversationPrefix(channelId, conversationId),
320
335
  })
321
- .byPage({
322
- maxPageSize: MAX_PAGE_SIZE,
323
- });
336
+ .byPage({ maxPageSize: MAX_PAGE_SIZE });
324
337
  let page = await iter.next();
325
338
  while (!page.done) {
326
339
  const response = maybeCast((_a = page === null || page === void 0 ? void 0 : page.value) !== null && _a !== void 0 ? _a : {});
@@ -334,7 +347,7 @@ class BlobsTranscriptStore {
334
347
  * Logs an activity to the transcript store.
335
348
  *
336
349
  * @param activity - The activity to log.
337
- * @param options - Optional configuration options for the operation.
350
+ * @param options - Optional configuration for this activity.
338
351
  * @returns A promise that resolves when the activity is logged.
339
352
  */
340
353
  async logActivity(activity, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"blobsTranscriptStore.js","sourceRoot":"","sources":["../../src/blobsTranscriptStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blobsTranscriptStore.js","sourceRoot":"","sources":["../../src/blobsTranscriptStore.ts"],"names":[],"mappings":"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"}
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-blob",
4
- "version": "1.7.2",
4
+ "version": "1.8.0-beta.34.g5d543f96c0",
5
5
  "homepage": "https://github.com/microsoft/Agents-for-js",
6
6
  "repository": {
7
7
  "type": "git",
@@ -13,14 +13,14 @@
13
13
  "url": "https://aka.ms/Agents"
14
14
  },
15
15
  "description": "Microsoft 365 Agents SDK State Blob Storage support.",
16
- "main": "dist/index.js",
16
+ "main": "dist/src/index.js",
17
17
  "types": "dist/src/index.d.ts",
18
18
  "dependencies": {
19
19
  "@azure/core-auth": "1.10.1",
20
20
  "@azure/storage-blob": "12.31.0",
21
- "@microsoft/agents-hosting": "1.7.2",
22
- "@microsoft/agents-activity": "1.7.2",
23
- "@microsoft/agents-telemetry": "1.7.2",
21
+ "@microsoft/agents-hosting": "1.8.0-beta.34.g5d543f96c0",
22
+ "@microsoft/agents-activity": "1.8.0-beta.34.g5d543f96c0",
23
+ "@microsoft/agents-telemetry": "1.8.0-beta.34.g5d543f96c0",
24
24
  "zod": "3.25.75"
25
25
  },
26
26
  "license": "MIT",
@@ -52,7 +52,7 @@ export class BlobsStorage implements Storage {
52
52
  url = '',
53
53
  credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential
54
54
  ) {
55
- if (url !== '' && credential != null) {
55
+ if (url.trim() !== '') {
56
56
  z.object({ url: z.string() }).parse({
57
57
  url,
58
58
  })
@@ -81,7 +81,7 @@ export class BlobsStorage implements Storage {
81
81
  logger.info('BlobsStorage settings loaded', {
82
82
  container: containerName,
83
83
  connection: {
84
- mode: isTokenCredential(credential) ? 'tokenCredential' : 'connectionString',
84
+ mode: isTokenCredential(credential) ? 'tokenCredential' : url.trim() !== '' ? 'url' : 'connectionString',
85
85
  type: (url.trim() !== '' ? url : connectionString!).trim() === 'UseDevelopmentStorage=true;' ? 'development' : 'production',
86
86
  },
87
87
  pipeline: options?.storagePipelineOptions !== undefined ? 'custom' : 'default',
@@ -7,7 +7,7 @@ import {
7
7
  AnonymousCredential,
8
8
  BlobItem,
9
9
  ContainerClient,
10
- ContainerListBlobHierarchySegmentResponse,
10
+ ContainerListBlobFlatSegmentResponse,
11
11
  StoragePipelineOptions,
12
12
  StorageSharedKeyCredential,
13
13
  } from '@azure/storage-blob'
@@ -15,6 +15,7 @@ import { TranscriptStore, PagedResult, TranscriptInfo } from '@microsoft/agents-
15
15
  import { debug } from '@microsoft/agents-telemetry'
16
16
 
17
17
  const logger = debug('agents:blob-transcript-store')
18
+ const ENCODED_PATH_SEPARATOR = encodeURIComponent('/')
18
19
 
19
20
  /**
20
21
  * Formats a Date object into a hexadecimal string representing ticks.
@@ -34,7 +35,8 @@ function formatTicks (timestamp: Date): string {
34
35
  * @returns A sanitized string prefix for the channel.
35
36
  */
36
37
  function getChannelPrefix (channelId: string): string {
37
- return sanitizeBlobKey(`${channelId}/`)
38
+ // sanitizeBlobKey removes trailing separators, so restore the encoded separator to avoid matching "channel2".
39
+ return `${sanitizeBlobKey(channelId)}${ENCODED_PATH_SEPARATOR}`
38
40
  }
39
41
 
40
42
  /**
@@ -43,8 +45,12 @@ function getChannelPrefix (channelId: string): string {
43
45
  * @param conversationId - The ID of the conversation.
44
46
  * @returns A sanitized string prefix for the conversation.
45
47
  */
46
- function getConversationPrefix (channelId: string, conversationId: string): string {
47
- return sanitizeBlobKey(`${channelId}/${conversationId}`)
48
+ function getConversationPrefix (
49
+ channelId: string,
50
+ conversationId: string
51
+ ): string {
52
+ // sanitizeBlobKey removes trailing separators, so restore the encoded separator to avoid matching "conv2".
53
+ return `${sanitizeBlobKey(`${channelId}/${conversationId}`)}${ENCODED_PATH_SEPARATOR}`
48
54
  }
49
55
 
50
56
  function getBlobKey (activity: Activity, options?: BlobsTranscriptStoreOptions): string {
@@ -141,6 +147,15 @@ function maybeCast<T> (value: unknown, ctor?: { new (...args: any[]): T }): T {
141
147
  return value as T
142
148
  }
143
149
 
150
+ function getConversationId (blobName: string): string | undefined {
151
+ try {
152
+ const [, conversationId] = decodeURIComponent(blobName).split('/').filter(Boolean)
153
+ return conversationId
154
+ } catch {
155
+ return undefined
156
+ }
157
+ }
158
+
144
159
  const MAX_PAGE_SIZE = 20
145
160
 
146
161
  /**
@@ -153,7 +168,7 @@ export interface BlobsTranscriptStoreOptions {
153
168
  storagePipelineOptions?: StoragePipelineOptions;
154
169
 
155
170
  /**
156
- * Indicates whether to decode the transcript key when retrieving transcripts.
171
+ * Indicates whether to decode a transcript key when supplied to an operation.
157
172
  */
158
173
  decodeTranscriptKey?: boolean;
159
174
  }
@@ -165,7 +180,6 @@ export class BlobsTranscriptStore implements TranscriptStore {
165
180
  private readonly _containerClient: ContainerClient
166
181
  private readonly _concurrency = Infinity
167
182
  private _initializePromise?: Promise<unknown>
168
- private _isDecodeTranscriptKey?: boolean = false
169
183
 
170
184
  /**
171
185
  * Constructs a new instance of the BlobsTranscriptStore class.
@@ -214,8 +228,6 @@ export class BlobsTranscriptStore implements TranscriptStore {
214
228
  }
215
229
  }
216
230
 
217
- this._isDecodeTranscriptKey = options?.decodeTranscriptKey
218
-
219
231
  logger.info('BlobsTranscriptStore settings loaded', {
220
232
  container: containerName,
221
233
  connection: {
@@ -223,7 +235,7 @@ export class BlobsTranscriptStore implements TranscriptStore {
223
235
  type: (blobServiceUri || connectionString).trim() === 'UseDevelopmentStorage=true;' ? 'development' : 'production',
224
236
  },
225
237
  pipeline: options?.storagePipelineOptions !== undefined ? 'custom' : 'default',
226
- transcriptKey: this._isDecodeTranscriptKey ? 'decoded' : 'encoded',
238
+ transcriptKey: 'encoded',
227
239
  })
228
240
  }
229
241
 
@@ -257,16 +269,18 @@ export class BlobsTranscriptStore implements TranscriptStore {
257
269
  logger.debug('Using conversation prefix', { prefix })
258
270
 
259
271
  const iter = this._containerClient
260
- .listBlobsByHierarchy('/', {
272
+ .listBlobsFlat({
261
273
  prefix,
262
274
  })
263
275
  .byPage({ continuationToken, maxPageSize: MAX_PAGE_SIZE })
264
276
 
265
- let page = await iter.next()
277
+ const page = await iter.next()
266
278
  const result: Activity[] = []
267
- let response: ContainerListBlobHierarchySegmentResponse | undefined
268
- while (!page.done) {
269
- response = maybeCast<ContainerListBlobHierarchySegmentResponse>(page?.value ?? {})
279
+ const response = page.done
280
+ ? undefined
281
+ : maybeCast<ContainerListBlobFlatSegmentResponse>(page.value ?? {})
282
+
283
+ if (response) {
270
284
  const blobItems = response?.segment?.blobItems ?? []
271
285
 
272
286
  logger.debug('Fetched blob items', { blobCount: blobItems.length })
@@ -299,8 +313,6 @@ export class BlobsTranscriptStore implements TranscriptStore {
299
313
  if (activity) result.push(activity)
300
314
  })
301
315
  }
302
-
303
- page = await iter.next()
304
316
  }
305
317
 
306
318
  logger.debug('Total transcript activities fetched', { activityCount: result.length })
@@ -324,37 +336,41 @@ export class BlobsTranscriptStore implements TranscriptStore {
324
336
  await this._initialize()
325
337
 
326
338
  const iter = this._containerClient
327
- .listBlobsByHierarchy('/', {
339
+ .listBlobsFlat({
328
340
  prefix: getChannelPrefix(channelId),
341
+ includeMetadata: true,
329
342
  })
330
343
  .byPage({ continuationToken, maxPageSize: MAX_PAGE_SIZE })
331
344
 
332
- let page = await iter.next()
333
- const result: any[] = []
334
- let response: ContainerListBlobHierarchySegmentResponse | undefined
345
+ const page = await iter.next()
346
+ const transcripts = new Map<string, TranscriptInfo>()
347
+ const response = page.done
348
+ ? undefined
349
+ : maybeCast<ContainerListBlobFlatSegmentResponse>(page.value ?? {})
335
350
 
336
- while (!page.done) {
337
- const response = maybeCast<ContainerListBlobHierarchySegmentResponse>(page?.value ?? {})
351
+ if (response) {
338
352
  const blobItems = response?.segment?.blobItems ?? []
339
353
 
340
- const items = blobItems.map((blobItem) => {
341
- const [, id] = decodeURIComponent(blobItem.name).split('/')
342
-
343
- const created = blobItem.metadata?.timestamp ? new Date(blobItem.metadata.timestamp) : new Date()
354
+ blobItems.forEach((blobItem) => {
355
+ const id = getConversationId(blobItem.name)
356
+ if (!id) {
357
+ return
358
+ }
344
359
 
345
- return { channelId, created, id }
346
- })
360
+ const metadataTimestamp = blobItem.metadata?.timestamp ?? blobItem.metadata?.Timestamp
361
+ const parsedCreated = metadataTimestamp ? new Date(metadataTimestamp) : undefined
362
+ const created = parsedCreated && !Number.isNaN(parsedCreated.getTime()) ? parsedCreated : new Date()
363
+ const existing = transcripts.get(id)
347
364
 
348
- items.forEach((transcript) => {
349
- if (transcript) result.push(transcript)
365
+ if (!existing || created < existing.created) {
366
+ transcripts.set(id, { channelId, created, id })
367
+ }
350
368
  })
351
-
352
- page = await iter.next()
353
369
  }
354
370
 
355
371
  return {
356
372
  continuationToken: response?.continuationToken ?? '',
357
- items: result ?? [],
373
+ items: [...transcripts.values()],
358
374
  }
359
375
  }
360
376
 
@@ -371,16 +387,14 @@ export class BlobsTranscriptStore implements TranscriptStore {
371
387
  await this._initialize()
372
388
 
373
389
  const iter = this._containerClient
374
- .listBlobsByHierarchy('/', {
390
+ .listBlobsFlat({
375
391
  prefix: getConversationPrefix(channelId, conversationId),
376
392
  })
377
- .byPage({
378
- maxPageSize: MAX_PAGE_SIZE,
379
- })
393
+ .byPage({ maxPageSize: MAX_PAGE_SIZE })
380
394
 
381
395
  let page = await iter.next()
382
396
  while (!page.done) {
383
- const response = maybeCast<ContainerListBlobHierarchySegmentResponse>(page?.value ?? {})
397
+ const response = maybeCast<ContainerListBlobFlatSegmentResponse>(page?.value ?? {})
384
398
  const blobItems = response?.segment?.blobItems ?? []
385
399
 
386
400
  const deletionPromises = blobItems.map(blobItem =>
@@ -397,7 +411,7 @@ export class BlobsTranscriptStore implements TranscriptStore {
397
411
  * Logs an activity to the transcript store.
398
412
  *
399
413
  * @param activity - The activity to log.
400
- * @param options - Optional configuration options for the operation.
414
+ * @param options - Optional configuration for this activity.
401
415
  * @returns A promise that resolves when the activity is logged.
402
416
  */
403
417
  async logActivity (activity: Activity, options?: BlobsTranscriptStoreOptions): Promise<void> {