@microsoft/agents-hosting 1.9.0-beta.8.gf58e66b2ee → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +182 -4
  2. package/dist/package.json +3 -3
  3. package/dist/src/app/agentApplication.d.ts +4 -3
  4. package/dist/src/app/agentApplication.js +24 -21
  5. package/dist/src/app/agentApplication.js.map +1 -1
  6. package/dist/src/app/agentApplicationBuilder.d.ts +9 -2
  7. package/dist/src/app/agentApplicationBuilder.js +9 -0
  8. package/dist/src/app/agentApplicationBuilder.js.map +1 -1
  9. package/dist/src/app/agentApplicationOptions.d.ts +16 -4
  10. package/dist/src/app/auth/authorizationManager.d.ts +0 -8
  11. package/dist/src/app/auth/authorizationManager.js +104 -178
  12. package/dist/src/app/auth/authorizationManager.js.map +1 -1
  13. package/dist/src/app/auth/handlerStorage.d.ts +5 -3
  14. package/dist/src/app/auth/handlerStorage.js +36 -10
  15. package/dist/src/app/auth/handlerStorage.js.map +1 -1
  16. package/dist/src/app/auth/types.d.ts +2 -2
  17. package/dist/src/app/index.d.ts +1 -0
  18. package/dist/src/app/proactive/proactive.js +10 -6
  19. package/dist/src/app/proactive/proactive.js.map +1 -1
  20. package/dist/src/app/proactive/proactiveOptions.d.ts +2 -2
  21. package/dist/src/app/rateLimit.d.ts +315 -0
  22. package/dist/src/app/rateLimit.js +333 -0
  23. package/dist/src/app/rateLimit.js.map +1 -0
  24. package/dist/src/app/turnState.d.ts +6 -3
  25. package/dist/src/app/turnState.js +43 -4
  26. package/dist/src/app/turnState.js.map +1 -1
  27. package/dist/src/auth/authConfiguration.d.ts +10 -3
  28. package/dist/src/auth/authConfiguration.js +292 -259
  29. package/dist/src/auth/authConfiguration.js.map +1 -1
  30. package/dist/src/auth/settings.d.ts +8 -70
  31. package/dist/src/auth/settings.js +5 -67
  32. package/dist/src/auth/settings.js.map +1 -1
  33. package/dist/src/cloudAdapter.d.ts +5 -0
  34. package/dist/src/cloudAdapter.js +13 -103
  35. package/dist/src/cloudAdapter.js.map +1 -1
  36. package/dist/src/configuration/botFrameworkEnvironmentCompatibility.d.ts +23 -0
  37. package/dist/src/configuration/botFrameworkEnvironmentCompatibility.js +183 -0
  38. package/dist/src/configuration/botFrameworkEnvironmentCompatibility.js.map +1 -0
  39. package/dist/src/configuration/configuration.d.ts +83 -0
  40. package/dist/src/configuration/configuration.js +836 -0
  41. package/dist/src/configuration/configuration.js.map +1 -0
  42. package/dist/src/configuration/configurationSource.d.ts +57 -0
  43. package/dist/src/configuration/configurationSource.js +7 -0
  44. package/dist/src/configuration/configurationSource.js.map +1 -0
  45. package/dist/src/configuration/environmentConfiguration.d.ts +14 -0
  46. package/dist/src/configuration/environmentConfiguration.js +271 -0
  47. package/dist/src/configuration/environmentConfiguration.js.map +1 -0
  48. package/dist/src/configuration/index.d.ts +7 -0
  49. package/dist/src/configuration/index.js +14 -0
  50. package/dist/src/configuration/index.js.map +1 -0
  51. package/dist/src/configuration/jsonFileConfigurationSource.d.ts +15 -0
  52. package/dist/src/configuration/jsonFileConfigurationSource.js +58 -0
  53. package/dist/src/configuration/jsonFileConfigurationSource.js.map +1 -0
  54. package/dist/src/createCloudAdapter.d.ts +30 -5
  55. package/dist/src/createCloudAdapter.js +17 -10
  56. package/dist/src/createCloudAdapter.js.map +1 -1
  57. package/dist/src/errorHelper.js +117 -5
  58. package/dist/src/errorHelper.js.map +1 -1
  59. package/dist/src/index.d.ts +1 -0
  60. package/dist/src/index.js +1 -0
  61. package/dist/src/index.js.map +1 -1
  62. package/dist/src/observability/traces.d.ts +6 -4
  63. package/dist/src/observability/traces.js +10 -9
  64. package/dist/src/observability/traces.js.map +1 -1
  65. package/dist/src/outboundHostValidator.d.ts +4 -1
  66. package/dist/src/outboundHostValidator.js +25 -48
  67. package/dist/src/outboundHostValidator.js.map +1 -1
  68. package/dist/src/state/agentState.d.ts +8 -3
  69. package/dist/src/state/agentState.js +26 -8
  70. package/dist/src/state/agentState.js.map +1 -1
  71. package/dist/src/state/conversationState.d.ts +2 -2
  72. package/dist/src/state/conversationState.js.map +1 -1
  73. package/dist/src/state/userState.d.ts +2 -2
  74. package/dist/src/state/userState.js.map +1 -1
  75. package/dist/src/statusCodes.d.ts +5 -0
  76. package/dist/src/statusCodes.js +5 -0
  77. package/dist/src/statusCodes.js.map +1 -1
  78. package/dist/src/storage/fileStorage.d.ts +83 -68
  79. package/dist/src/storage/fileStorage.js +279 -105
  80. package/dist/src/storage/fileStorage.js.map +1 -1
  81. package/dist/src/storage/index.d.ts +1 -0
  82. package/dist/src/storage/index.js +1 -0
  83. package/dist/src/storage/index.js.map +1 -1
  84. package/dist/src/storage/memoryStorage.d.ts +85 -60
  85. package/dist/src/storage/memoryStorage.js +244 -87
  86. package/dist/src/storage/memoryStorage.js.map +1 -1
  87. package/dist/src/storage/storage.d.ts +100 -2
  88. package/dist/src/storage/storage.js +25 -0
  89. package/dist/src/storage/storage.js.map +1 -1
  90. package/dist/src/storage/storageCompatibility.d.ts +17 -0
  91. package/dist/src/storage/storageCompatibility.js +157 -0
  92. package/dist/src/storage/storageCompatibility.js.map +1 -0
  93. package/dist/src/storage/storageExpiry.d.ts +6 -0
  94. package/dist/src/storage/storageExpiry.js +20 -0
  95. package/dist/src/storage/storageExpiry.js.map +1 -0
  96. package/dist/src/utils/env.d.ts +43 -0
  97. package/dist/src/utils/env.js +42 -6
  98. package/dist/src/utils/env.js.map +1 -1
  99. package/dist/src/utils.d.ts +1 -0
  100. package/dist/src/utils.js +10 -1
  101. package/dist/src/utils.js.map +1 -1
  102. package/package.json +3 -3
  103. package/src/app/agentApplication.ts +27 -14
  104. package/src/app/agentApplicationBuilder.ts +13 -2
  105. package/src/app/agentApplicationOptions.ts +18 -4
  106. package/src/app/auth/authorizationManager.ts +126 -204
  107. package/src/app/auth/handlerStorage.ts +51 -7
  108. package/src/app/auth/types.ts +2 -2
  109. package/src/app/index.ts +7 -0
  110. package/src/app/proactive/proactive.ts +19 -9
  111. package/src/app/proactive/proactiveOptions.ts +2 -2
  112. package/src/app/rateLimit.ts +659 -0
  113. package/src/app/turnState.ts +50 -7
  114. package/src/auth/authConfiguration.ts +415 -260
  115. package/src/auth/settings.ts +5 -82
  116. package/src/cloudAdapter.ts +38 -113
  117. package/src/configuration/botFrameworkEnvironmentCompatibility.ts +245 -0
  118. package/src/configuration/configuration.ts +1076 -0
  119. package/src/configuration/configurationSource.ts +76 -0
  120. package/src/configuration/environmentConfiguration.ts +377 -0
  121. package/src/configuration/index.ts +19 -0
  122. package/src/configuration/jsonFileConfigurationSource.ts +74 -0
  123. package/src/createCloudAdapter.ts +52 -9
  124. package/src/errorHelper.ts +143 -5
  125. package/src/index.ts +1 -0
  126. package/src/observability/traces.ts +8 -7
  127. package/src/outboundHostValidator.ts +37 -44
  128. package/src/state/agentState.ts +39 -13
  129. package/src/state/conversationState.ts +2 -2
  130. package/src/state/userState.ts +2 -2
  131. package/src/statusCodes.ts +6 -0
  132. package/src/storage/fileStorage.ts +299 -106
  133. package/src/storage/index.ts +1 -0
  134. package/src/storage/memoryStorage.ts +268 -85
  135. package/src/storage/storage.ts +114 -2
  136. package/src/storage/storageCompatibility.ts +185 -0
  137. package/src/storage/storageExpiry.ts +21 -0
  138. package/src/utils/env.ts +63 -0
  139. package/src/utils.ts +10 -0
@@ -13,12 +13,45 @@ const handlerStorage_1 = require("./handlerStorage");
13
13
  const errorHelper_1 = require("../../errorHelper");
14
14
  const types_1 = require("./types");
15
15
  const utils_1 = require("./utils");
16
- const settings_1 = require("../../auth/settings");
17
16
  const utils_2 = require("../../utils");
17
+ const configuration_1 = require("../../configuration/configuration");
18
+ const environmentConfiguration_1 = require("../../configuration/environmentConfiguration");
19
+ const botFrameworkEnvironmentCompatibility_1 = require("../../configuration/botFrameworkEnvironmentCompatibility");
18
20
  const logger = (0, agents_telemetry_1.debug)('agents:authorization:manager');
19
21
  const AGENTIC = 'AgenticUserAuthorization';
20
22
  const AGENTIC_LEGACY = 'agentic';
21
23
  const AZURE_BOT = 'AzureBotUserAuthorization';
24
+ function redactAuthorizationString(value) {
25
+ return typeof value === 'string' ? (0, agents_telemetry_1.redactString)(value) : undefined;
26
+ }
27
+ function summarizeAuthorizationConfiguration(options) {
28
+ return (0, utils_2.prune)({
29
+ type: options.type,
30
+ azureBotOAuthConnectionName: 'azureBotOAuthConnectionName' in options
31
+ ? redactAuthorizationString(options.azureBotOAuthConnectionName)
32
+ : undefined,
33
+ invalidSignInRetryMax: 'invalidSignInRetryMax' in options && typeof options.invalidSignInRetryMax === 'number'
34
+ ? options.invalidSignInRetryMax
35
+ : undefined,
36
+ oboConnectionName: 'oboConnectionName' in options
37
+ ? redactAuthorizationString(options.oboConnectionName)
38
+ : undefined,
39
+ oboScopes: 'oboScopes' in options && Array.isArray(options.oboScopes) &&
40
+ options.oboScopes.every(scope => typeof scope === 'string')
41
+ ? (0, agents_telemetry_1.redactScopes)(options.oboScopes)
42
+ : undefined,
43
+ enableSso: 'enableSso' in options && typeof options.enableSso === 'boolean'
44
+ ? options.enableSso
45
+ : undefined,
46
+ scopes: 'scopes' in options && Array.isArray(options.scopes) &&
47
+ options.scopes.every(scope => typeof scope === 'string')
48
+ ? (0, agents_telemetry_1.redactScopes)(options.scopes)
49
+ : undefined,
50
+ altBlueprintConnectionName: 'altBlueprintConnectionName' in options
51
+ ? redactAuthorizationString(options.altBlueprintConnectionName)
52
+ : undefined
53
+ });
54
+ }
22
55
  /**
23
56
  * Manages multiple authorization handlers and their interactions.
24
57
  * Processes authorization requests and maintains handler states.
@@ -36,85 +69,6 @@ class AuthorizationManager {
36
69
  this.app = app;
37
70
  this.connections = connections;
38
71
  this._handlers = {};
39
- /**
40
- * Environment variable configuration for the latest format.
41
- */
42
- this._envLatest = {
43
- key: {
44
- prefix: 'AgentApplication__UserAuthorization__Handlers__',
45
- separator: '__Settings__',
46
- create(id, prop) {
47
- return `${this.prefix}${id}${this.separator}${prop}`;
48
- },
49
- extract(envKey) {
50
- // Substring: AgentApplication__UserAuthorization__Handlers__<id>__Settings__<prop>
51
- // position —————————————————————————————————————————> start^ ^end ^prop
52
- const start = this.prefix.length;
53
- const end = envKey.toUpperCase().indexOf(this.separator.toUpperCase());
54
- if (end === -1) {
55
- return { id: undefined, prop: undefined };
56
- }
57
- const id = envKey.substring(start, end);
58
- const prop = envKey.substring(end + this.separator.length);
59
- return { id, prop };
60
- }
61
- },
62
- parser: (0, settings_1.envParser)({
63
- // Common
64
- type: settings_1.envParserUtils.bypass,
65
- // Azure Bot
66
- azureBotOAuthConnectionName: settings_1.envParserUtils.bypass,
67
- title: settings_1.envParserUtils.bypass,
68
- text: settings_1.envParserUtils.bypass,
69
- invalidSignInRetryMessage: settings_1.envParserUtils.bypass,
70
- invalidSignInRetryMessageFormat: settings_1.envParserUtils.bypass,
71
- invalidSignInRetryMaxExceededMessage: settings_1.envParserUtils.bypass,
72
- oboConnectionName: settings_1.envParserUtils.bypass,
73
- enableSso(value) {
74
- return { value: value !== 'false' };
75
- },
76
- invalidSignInRetryMax(value) {
77
- return { value: parseInt(value) };
78
- },
79
- oboScopes(value) {
80
- return this.scopes(value);
81
- },
82
- // Agentic
83
- altBlueprintConnectionName: settings_1.envParserUtils.bypass,
84
- scopes(value) {
85
- if (value.includes(',')) {
86
- return { value: value.split(',').map(s => s.trim()).filter(Boolean) };
87
- }
88
- return { value: value.split(/\s+/).filter(Boolean) };
89
- }
90
- }),
91
- };
92
- /**
93
- * Environment variable configuration for the legacy format.
94
- */
95
- this._envLegacy = {
96
- key: {
97
- separator: '_',
98
- },
99
- parser: (0, settings_1.envParser)({
100
- // Common
101
- type: settings_1.envParserUtils.redirect(this._envLatest.parser, 'type'),
102
- // Azure Bot
103
- connectionName: settings_1.envParserUtils.redirect(this._envLatest.parser, 'azureBotOAuthConnectionName'),
104
- connectionTitle: settings_1.envParserUtils.redirect(this._envLatest.parser, 'title'),
105
- connectionText: settings_1.envParserUtils.redirect(this._envLatest.parser, 'text'),
106
- maxAttempts: settings_1.envParserUtils.redirect(this._envLatest.parser, 'invalidSignInRetryMax'),
107
- messages_invalidCode: settings_1.envParserUtils.redirect(this._envLatest.parser, 'invalidSignInRetryMessage'),
108
- messages_invalidCodeFormat: settings_1.envParserUtils.redirect(this._envLatest.parser, 'invalidSignInRetryMessageFormat'),
109
- messages_maxAttemptsExceeded: settings_1.envParserUtils.redirect(this._envLatest.parser, 'invalidSignInRetryMaxExceededMessage'),
110
- obo_connection: settings_1.envParserUtils.redirect(this._envLatest.parser, 'oboConnectionName'),
111
- obo_scopes: settings_1.envParserUtils.redirect(this._envLatest.parser, 'oboScopes'),
112
- enableSso: settings_1.envParserUtils.redirect(this._envLatest.parser, 'enableSso'),
113
- // Agentic
114
- scopes: settings_1.envParserUtils.redirect(this._envLatest.parser, 'scopes'),
115
- altBlueprintConnectionName: settings_1.envParserUtils.redirect(this._envLatest.parser, 'altBlueprintConnectionName')
116
- })
117
- };
118
72
  this.createHandlers();
119
73
  if (this.handlers.length === 0 && app.options.authorization !== undefined) {
120
74
  throw agents_activity_1.ExceptionHelper.generateException(Error, errorHelper_1.Errors.NoAuthHandlersConfigured);
@@ -256,84 +210,55 @@ class AuthorizationManager {
256
210
  * Creates authorization handlers based on the application configuration and environment variables.
257
211
  */
258
212
  createHandlers() {
259
- var _a, _b, _c, _d, _e;
260
- var _f, _g;
213
+ var _a, _b;
261
214
  let legacyMessage = '';
262
215
  const settings = { storage: this.app.options.storage, connections: this.connections };
263
216
  const runtimeOptionEntries = Object.entries((_a = this.app.options.authorization) !== null && _a !== void 0 ? _a : {});
264
- const result = { latest: {}, legacy: {} };
265
- for (const [envKey, envValue] of Object.entries(process.env)) {
266
- if (!(envValue === null || envValue === void 0 ? void 0 : envValue.trim())) {
267
- continue;
268
- }
269
- const upperEnvKey = envKey.toUpperCase();
270
- // Legacy: extract handler ID, handler options key and its value, and assign it to the correct runtime handler ID.
271
- if (!upperEnvKey.startsWith(this._envLatest.key.prefix.toUpperCase())) {
272
- const [id] = (_b = runtimeOptionEntries.find(([id]) => upperEnvKey.startsWith(`${id.toUpperCase()}${this._envLegacy.key.separator}`))) !== null && _b !== void 0 ? _b : [];
273
- if (!id) {
274
- continue;
275
- }
276
- const prop = envKey.substring(id.length + this._envLegacy.key.separator.length);
277
- if (!prop) {
278
- continue;
279
- }
280
- const { key, value } = this._envLegacy.parser.parse(prop, envValue);
281
- if (!key) {
282
- continue;
283
- }
284
- legacyMessage += ` ${envKey}= # Use ${this._envLatest.key.create(id, key)} instead.\n`;
285
- (_c = (_f = result.legacy)[id]) !== null && _c !== void 0 ? _c : (_f[id] = {});
286
- result.legacy[id][key] = value;
287
- continue;
288
- }
289
- // Latest: extract handler ID, handler options key and its value, and assign it to the correct latest handler ID.
290
- const { id, prop } = this._envLatest.key.extract(envKey);
291
- if (!id || !prop) {
292
- continue;
293
- }
294
- const { key, value } = this._envLatest.parser.parse(prop, envValue);
295
- if (!key) {
296
- continue;
297
- }
298
- // Find existing handler ID case-insensitively to avoid duplicates, but keep the original casing for later processing.
299
- // This allows users to specify environment variables in a case-insensitive way, while ensuring that the handler IDs are treated in a case-sensitive way internally, to avoid issues when referencing them later.
300
- // For example, if the user specifies AGENTAPPLICATION__USERAUTHORIZATION__HANDLERS__GRAPH__SETTINGS__AZUREBOTOAUTHCONNECTIONNAME and agentapplication__userauthorization__handlers__graph__settings__azurebotoauthconnectionname, we want to treat them as the same handler ID "graph", and not create two separate handlers "GRAPH" and "graph".
301
- // Note: the first environment variable that is processed will determine the casing of the handler ID, and any subsequent environment variable that matches the same handler ID case-insensitively will be treated as referring to the same handler, regardless of its casing.
302
- const existingId = id in result.latest ? id : Object.keys(result.latest).find(e => e.toLowerCase() === id.toLowerCase());
303
- const realId = existingId !== null && existingId !== void 0 ? existingId : id;
304
- (_d = (_g = result.latest)[realId]) !== null && _d !== void 0 ? _d : (_g[realId] = {});
305
- result.latest[realId][key] = value;
217
+ const result = {
218
+ latest: {},
219
+ legacy: {}
220
+ };
221
+ const external = (0, configuration_1.getConfigurationSnapshot)(this.app.options.configurationContext);
222
+ const externalOptionEntries = [
223
+ ...[...external.fallback.agentApplication.userAuthorization.handlers.values()].map(handler => [handler.id, handler.settings]),
224
+ ...[...external.overrideEnvironment.agentApplication.userAuthorization.handlers.values()].map(handler => [handler.id, handler.settings]),
225
+ ...[...external.enforce.agentApplication.userAuthorization.handlers.values()].map(handler => [handler.id, handler.settings])
226
+ ];
227
+ const modernHandlers = (0, environmentConfiguration_1.loadModernEnvironmentConfiguration)()
228
+ .agentApplication.userAuthorization.handlers;
229
+ for (const handler of modernHandlers.values()) {
230
+ result.latest[handler.id] = { ...handler.settings };
231
+ }
232
+ const compatibility = (0, botFrameworkEnvironmentCompatibility_1.loadBotFrameworkAuthorizationEnvironmentConfiguration)([...runtimeOptionEntries, ...externalOptionEntries].map(([id]) => id));
233
+ for (const handler of compatibility.layer.agentApplication.userAuthorization.handlers.values()) {
234
+ result.legacy[handler.id] = { ...handler.settings };
235
+ }
236
+ for (const replacement of compatibility.replacements) {
237
+ legacyMessage += ` ${replacement.legacyKey}= # Use ${replacement.modernKey} instead.\n`;
306
238
  }
307
239
  if (legacyMessage.length > 0) {
308
240
  logger.warn('Deprecated environment variables detected, update to the latest format: (case-insensitive)', `[\n${legacyMessage}]`);
309
241
  }
310
- // Fix types
311
- const fixTypes = (entries) => entries
312
- .map(([id, options]) => [id, { ...options, type: this.fixType(id, options === null || options === void 0 ? void 0 : options.type) }]);
313
- const runtimeEntries = fixTypes(runtimeOptionEntries);
314
- const latestEntries = fixTypes(Object.entries(result.latest));
315
- const legacyEntries = fixTypes(Object.entries(result.legacy));
316
242
  const registeredHandlers = new Set();
317
- for (const [id] of [...runtimeEntries, ...latestEntries]) {
243
+ const handlerEntries = [
244
+ ...runtimeOptionEntries,
245
+ ...Object.entries(result.latest),
246
+ ...Object.entries(result.legacy),
247
+ ...externalOptionEntries
248
+ ];
249
+ for (const [id] of handlerEntries) {
318
250
  if (registeredHandlers.has(id.toLowerCase())) {
319
251
  continue;
320
252
  }
321
- const { options, format } = this.resolveHandlerConfiguration(id, runtimeEntries, latestEntries, legacyEntries);
253
+ const { options, format } = this.resolveHandlerConfiguration(id, runtimeOptionEntries, Object.entries(result.latest), Object.entries(result.legacy), external);
322
254
  if (options.type === AZURE_BOT) {
323
255
  // Set default values if not provided
324
256
  options.title || (options.title = 'Sign-in');
325
257
  options.text || (options.text = 'Please sign-in to continue');
326
- (_e = options.oboScopes) !== null && _e !== void 0 ? _e : (options.oboScopes = []);
258
+ (_b = options.oboScopes) !== null && _b !== void 0 ? _b : (options.oboScopes = []);
327
259
  options.enableSso = options.enableSso !== false; // default value is true if undefined.
328
260
  }
329
- const maskedOptions = {};
330
- if ('oboScopes' in options && options.oboScopes && options.oboScopes.length > 0) {
331
- maskedOptions.oboScopes = (0, agents_telemetry_1.redactScopes)(options.oboScopes);
332
- }
333
- if ('scopes' in options && options.scopes && options.scopes.length > 0) {
334
- maskedOptions.scopes = (0, agents_telemetry_1.redactScopes)(options.scopes);
335
- }
336
- logger.info(this.prefix(id, 'settings loaded from \'%s\''), format, { ...options, ...maskedOptions });
261
+ logger.info(this.prefix(id, 'settings loaded from \'%s\''), format, summarizeAuthorizationConfiguration(options));
337
262
  if (!settings.storage) {
338
263
  throw agents_activity_1.ExceptionHelper.generateException(Error, errorHelper_1.Errors.StorageRequiredForAuthorization);
339
264
  }
@@ -368,50 +293,51 @@ class AuthorizationManager {
368
293
  /**
369
294
  * Resolves the effective handler configuration for a given handler ID.
370
295
  */
371
- resolveHandlerConfiguration(id, runtimeEntries, latestEntries, legacyEntries) {
296
+ resolveHandlerConfiguration(id, runtimeEntries, latestEntries, legacyEntries, external) {
372
297
  var _a, _b, _c, _d, _e;
373
- var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
298
+ var _f, _g, _h, _j, _k, _l, _m;
374
299
  const matchesId = ([_id]) => _id.toLowerCase() === id.toLowerCase();
375
- // Find entries case-insensitively for later processing
376
- const [, runtime] = (_f = runtimeEntries.find(matchesId)) !== null && _f !== void 0 ? _f : [];
377
- const [, latest] = (_g = latestEntries.find(matchesId)) !== null && _g !== void 0 ? _g : [];
378
- const [, legacy] = (_h = legacyEntries.find(matchesId)) !== null && _h !== void 0 ? _h : [];
300
+ const find = (entries) => { var _a; return (_a = entries.find(matchesId)) === null || _a === void 0 ? void 0 : _a[1]; };
301
+ const findExternal = (entries) => { var _a; return (_a = [...entries.values()].find(handler => handler.id.toLowerCase() === id.toLowerCase())) === null || _a === void 0 ? void 0 : _a.settings; };
302
+ const runtime = find(runtimeEntries);
303
+ const latest = find(latestEntries);
304
+ const legacy = find(legacyEntries);
379
305
  if (runtime !== undefined && latest !== undefined) {
380
306
  logger.warn(this.prefix(id, 'Both runtime options and latest environment variable configurations detected. Runtime configuration will take precedence over latest environment variables.'));
381
307
  }
308
+ const runtimeOptions = runtime === undefined ? undefined : { ...runtime };
382
309
  const runtimeLegacyKeys = ['name', 'maxAttempts', 'messages', 'obo'];
383
- const isRuntimeLegacy = runtime !== undefined && Object.keys(runtime).some(key => runtimeLegacyKeys.includes(key));
384
- let runtimeLegacyFormat = '';
385
- if (isRuntimeLegacy && runtime.type === AZURE_BOT) {
386
- (_j = runtime.azureBotOAuthConnectionName) !== null && _j !== void 0 ? _j : (runtime.azureBotOAuthConnectionName = runtime.name);
387
- (_k = runtime.invalidSignInRetryMax) !== null && _k !== void 0 ? _k : (runtime.invalidSignInRetryMax = runtime.maxAttempts);
388
- (_l = runtime.invalidSignInRetryMessage) !== null && _l !== void 0 ? _l : (runtime.invalidSignInRetryMessage = (_a = runtime.messages) === null || _a === void 0 ? void 0 : _a.invalidCode);
389
- (_m = runtime.invalidSignInRetryMessageFormat) !== null && _m !== void 0 ? _m : (runtime.invalidSignInRetryMessageFormat = (_b = runtime.messages) === null || _b === void 0 ? void 0 : _b.invalidCodeFormat);
390
- (_o = runtime.invalidSignInRetryMaxExceededMessage) !== null && _o !== void 0 ? _o : (runtime.invalidSignInRetryMaxExceededMessage = (_c = runtime.messages) === null || _c === void 0 ? void 0 : _c.maxAttemptsExceeded);
391
- (_p = runtime.oboConnectionName) !== null && _p !== void 0 ? _p : (runtime.oboConnectionName = (_d = runtime.obo) === null || _d === void 0 ? void 0 : _d.connection);
392
- (_q = runtime.oboScopes) !== null && _q !== void 0 ? _q : (runtime.oboScopes = (_e = runtime.obo) === null || _e === void 0 ? void 0 : _e.scopes);
393
- delete runtime.name;
394
- delete runtime.maxAttempts;
395
- delete runtime.messages;
396
- delete runtime.obo;
397
- runtimeLegacyFormat = 'runtime options (legacy)';
310
+ const isRuntimeLegacy = runtimeOptions !== undefined && Object.keys(runtimeOptions).some(key => runtimeLegacyKeys.includes(key));
311
+ let runtimeFormat = 'runtime options';
312
+ if (isRuntimeLegacy && this.fixType(id, runtimeOptions.type) === AZURE_BOT) {
313
+ (_f = runtimeOptions.azureBotOAuthConnectionName) !== null && _f !== void 0 ? _f : (runtimeOptions.azureBotOAuthConnectionName = runtimeOptions.name);
314
+ (_g = runtimeOptions.invalidSignInRetryMax) !== null && _g !== void 0 ? _g : (runtimeOptions.invalidSignInRetryMax = runtimeOptions.maxAttempts);
315
+ (_h = runtimeOptions.invalidSignInRetryMessage) !== null && _h !== void 0 ? _h : (runtimeOptions.invalidSignInRetryMessage = (_a = runtimeOptions.messages) === null || _a === void 0 ? void 0 : _a.invalidCode);
316
+ (_j = runtimeOptions.invalidSignInRetryMessageFormat) !== null && _j !== void 0 ? _j : (runtimeOptions.invalidSignInRetryMessageFormat = (_b = runtimeOptions.messages) === null || _b === void 0 ? void 0 : _b.invalidCodeFormat);
317
+ (_k = runtimeOptions.invalidSignInRetryMaxExceededMessage) !== null && _k !== void 0 ? _k : (runtimeOptions.invalidSignInRetryMaxExceededMessage = (_c = runtimeOptions.messages) === null || _c === void 0 ? void 0 : _c.maxAttemptsExceeded);
318
+ (_l = runtimeOptions.oboConnectionName) !== null && _l !== void 0 ? _l : (runtimeOptions.oboConnectionName = (_d = runtimeOptions.obo) === null || _d === void 0 ? void 0 : _d.connection);
319
+ (_m = runtimeOptions.oboScopes) !== null && _m !== void 0 ? _m : (runtimeOptions.oboScopes = (_e = runtimeOptions.obo) === null || _e === void 0 ? void 0 : _e.scopes);
320
+ delete runtimeOptions.name;
321
+ delete runtimeOptions.maxAttempts;
322
+ delete runtimeOptions.messages;
323
+ delete runtimeOptions.obo;
324
+ runtimeFormat = 'runtime options (legacy)';
398
325
  }
399
- if (runtime !== undefined && legacy !== undefined) {
400
- return { format: `${runtimeLegacyFormat || 'runtime options'} + .env variables (legacy)`, options: { ...(0, utils_2.prune)(legacy), ...(0, utils_2.prune)(runtime) } };
401
- }
402
- if (runtime !== undefined) {
403
- return { format: runtimeLegacyFormat || 'runtime options', options: (0, utils_2.prune)(runtime) };
404
- }
405
- if (latest !== undefined) {
406
- return { format: '.env variables', options: (0, utils_2.prune)(latest) };
407
- }
408
- if (legacy !== undefined) {
409
- // Note: this should never happen, as legacy requires runtime to be present.
410
- // However, we show a warning just in case to detect if something goes wrong.
411
- logger.warn(this.prefix(id, 'Legacy environment variable configuration detected without a corresponding runtime options configuration.'));
412
- return { format: '.env variables (legacy)', options: (0, utils_2.prune)(legacy) };
413
- }
414
- return { format: 'empty options', options: {} };
326
+ const layers = [
327
+ ['external configuration (fallback)', findExternal(external.fallback.agentApplication.userAuthorization.handlers)],
328
+ ['.env variables (legacy)', runtimeOptions !== undefined || latest === undefined ? legacy : undefined],
329
+ ['.env variables', runtimeOptions === undefined ? latest : undefined],
330
+ ['external configuration (overrideEnvironment)', findExternal(external.overrideEnvironment.agentApplication.userAuthorization.handlers)],
331
+ [runtimeFormat, runtimeOptions],
332
+ ['external configuration (enforce)', findExternal(external.enforce.agentApplication.userAuthorization.handlers)]
333
+ ];
334
+ const activeLayers = layers.filter((layer) => layer[1] !== undefined);
335
+ const options = (0, utils_2.mergeDefined)(...activeLayers.map(([, layer]) => layer));
336
+ options.type = this.fixType(id, options.type);
337
+ return {
338
+ format: activeLayers.map(([format]) => format).join(' + ') || 'empty options',
339
+ options
340
+ };
415
341
  }
416
342
  }
417
343
  exports.AuthorizationManager = AuthorizationManager;
@@ -1 +1 @@
1
- {"version":3,"file":"authorizationManager.js","sourceRoot":"","sources":["../../../../src/app/auth/authorizationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorizationManager.js","sourceRoot":"","sources":["../../../../src/app/auth/authorizationManager.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,19 @@
4
4
  */
5
5
  import { ActiveAuthorizationHandler } from './types';
6
6
  import { TurnContext } from '../../turnContext';
7
- import { Storage } from '../../storage';
7
+ import { StorageProvider } from '../../storage';
8
8
  /**
9
9
  * Storage manager for handler state.
10
10
  */
11
11
  export declare class HandlerStorage<TActiveHandler extends ActiveAuthorizationHandler = ActiveAuthorizationHandler> {
12
- private storage;
13
12
  private context;
14
13
  /**
15
14
  * Creates an instance of the HandlerStorage.
16
15
  * @param storage The storage provider.
17
16
  * @param context The turn context.
18
17
  */
19
- constructor(storage: Storage, context: TurnContext);
18
+ private readonly storage;
19
+ constructor(storage: StorageProvider, context: TurnContext);
20
20
  /**
21
21
  * Gets the unique key for a handler session.
22
22
  */
@@ -33,4 +33,6 @@ export declare class HandlerStorage<TActiveHandler extends ActiveAuthorizationHa
33
33
  * Deletes handler state from storage.
34
34
  */
35
35
  delete(): Promise<void>;
36
+ private get version();
37
+ private set version(value);
36
38
  }
@@ -5,20 +5,18 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.HandlerStorage = void 0;
8
+ const storageCompatibility_1 = require("../../storage/storageCompatibility");
8
9
  const agents_activity_1 = require("@microsoft/agents-activity");
9
10
  const errorHelper_1 = require("../../errorHelper");
11
+ // Version metadata only bridges reads and writes in one turn. Cloned contexts share turnState.
12
+ const HANDLER_STORAGE_VERSIONS = Symbol('handlerStorageVersions');
10
13
  /**
11
14
  * Storage manager for handler state.
12
15
  */
13
16
  class HandlerStorage {
14
- /**
15
- * Creates an instance of the HandlerStorage.
16
- * @param storage The storage provider.
17
- * @param context The turn context.
18
- */
19
17
  constructor(storage, context) {
20
- this.storage = storage;
21
18
  this.context = context;
19
+ this.storage = (0, storageCompatibility_1.asStorageV2)(storage);
22
20
  }
23
21
  /**
24
22
  * Gets the unique key for a handler session.
@@ -36,21 +34,30 @@ class HandlerStorage {
36
34
  * Reads the active handler state from storage.
37
35
  */
38
36
  async read() {
37
+ var _a;
39
38
  const ongoing = await this.storage.read([this.key]);
40
- return ongoing === null || ongoing === void 0 ? void 0 : ongoing[this.key];
39
+ const value = (0, storageCompatibility_1.getStorageReadValue)(ongoing, this.key);
40
+ this.version = (_a = ongoing[this.key]) === null || _a === void 0 ? void 0 : _a.version;
41
+ return value;
41
42
  }
42
43
  /**
43
44
  * Writes handler state to storage.
44
45
  */
45
- write(data) {
46
- return this.storage.write({ [this.key]: data });
46
+ async write(data) {
47
+ var _a;
48
+ const { eTag: _eTag, ...value } = data;
49
+ const results = await this.storage.write({ [this.key]: value }, this.version === undefined ? undefined : { expectedVersion: this.version });
50
+ (0, storageCompatibility_1.assertStorageWriteSucceeded)(results, [this.key]);
51
+ this.version = (_a = results[this.key]) === null || _a === void 0 ? void 0 : _a.version;
47
52
  }
48
53
  /**
49
54
  * Deletes handler state from storage.
50
55
  */
51
56
  async delete() {
52
57
  try {
53
- await this.storage.delete([this.key]);
58
+ const results = await this.storage.delete([this.key]);
59
+ (0, storageCompatibility_1.assertStorageDeleteSucceeded)(results, [this.key]);
60
+ this.version = undefined;
54
61
  }
55
62
  catch (error) {
56
63
  if (error instanceof Error && 'code' in error && error.code === 404) {
@@ -59,6 +66,25 @@ class HandlerStorage {
59
66
  throw error;
60
67
  }
61
68
  }
69
+ get version() {
70
+ var _a;
71
+ return (_a = this.context.turnState.get(HANDLER_STORAGE_VERSIONS)) === null || _a === void 0 ? void 0 : _a.get(this.key);
72
+ }
73
+ set version(value) {
74
+ let versions = this.context.turnState.get(HANDLER_STORAGE_VERSIONS);
75
+ if (value === undefined) {
76
+ versions === null || versions === void 0 ? void 0 : versions.delete(this.key);
77
+ if ((versions === null || versions === void 0 ? void 0 : versions.size) === 0) {
78
+ this.context.turnState.delete(HANDLER_STORAGE_VERSIONS);
79
+ }
80
+ return;
81
+ }
82
+ if (!versions) {
83
+ versions = new Map();
84
+ this.context.turnState.set(HANDLER_STORAGE_VERSIONS, versions);
85
+ }
86
+ versions.set(this.key, value);
87
+ }
62
88
  }
63
89
  exports.HandlerStorage = HandlerStorage;
64
90
  //# sourceMappingURL=handlerStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlerStorage.js","sourceRoot":"","sources":["../../../../src/app/auth/handlerStorage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,gEAA4D;AAC5D,mDAA0C;AAE1C;;GAEG;AACH;IACE;;;;OAIG;IACH,YAAqB,OAAgB,EAAU,OAAoB;uBAA9C,OAAO;uBAAmB,OAAO;IAAiB,CAAC;IAExE;;OAEG;IACH,IAAW,GAAG;;QACZ,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAA;QACzD,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,0CAAE,EAAE,0CAAE,IAAI,EAAE,CAAA;QACrD,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,iCAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAM,CAAC,0BAA0B,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,QAAQ,SAAS,IAAI,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACI,KAAK,CAAE,IAAoB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACpE,OAAM;YACR,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"handlerStorage.js","sourceRoot":"","sources":["../../../../src/app/auth/handlerStorage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,6EAK2C;AAC3C,gEAA4D;AAC5D,mDAA0C;AAE1C,+FAA+F;AAC/F,MAAM,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAEjE;;GAEG;AACH;IAQE,YAAa,OAAwB,EAAU,OAAoB;uBAApB,OAAO;QACpD,IAAI,CAAC,OAAO,GAAG,IAAA,kCAAW,EAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,IAAW,GAAG;;QACZ,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAA;QACzD,MAAM,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,0CAAE,EAAE,0CAAE,IAAI,EAAE,CAAA;QACrD,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,iCAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAM,CAAC,0BAA0B,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,QAAQ,SAAS,IAAI,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACnE,MAAM,KAAK,GAAG,IAAA,0CAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAA;QACzC,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAAE,IAAoB;;QACtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACtC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EACrB,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,CAC3E,CAAA;QACD,IAAA,kDAA2B,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAA;IAC3C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACrD,IAAA,mDAA4B,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACjD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACpE,OAAM;YACR,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,IAAY,OAAO;;QACjB,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAsB,wBAAwB,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjG,CAAC;IAED,IAAY,OAAO,CAAE,KAAyB;QAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAsB,wBAAwB,CAAC,CAAA;QACxF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC1B,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAA;YACzD,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;YACpC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAA;QAChE,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;CACF"}
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { Activity } from '@microsoft/agents-activity';
6
- import { Storage, StoreItem } from '../../storage';
6
+ import { StorageProvider, StoreItem } from '../../storage';
7
7
  import { TurnContext } from '../../turnContext';
8
8
  import { AgenticAuthorizationOptions, AzureBotAuthorizationOptions } from './handlers';
9
9
  import { TokenResponse } from '../../oauth';
@@ -91,7 +91,7 @@ export interface AuthorizationHandlerSettings {
91
91
  /**
92
92
  * Storage instance for persisting handler state.
93
93
  */
94
- storage: Storage;
94
+ storage: StorageProvider;
95
95
  /**
96
96
  * Connections instance for managing authentication connections.
97
97
  */
@@ -22,3 +22,4 @@ export * from './streaming/streamingResponse';
22
22
  export * from './streaming/citation';
23
23
  export * from './teamsAttachmentDownloader';
24
24
  export * from './proactive';
25
+ export type { RateLimitMessageFactory, RateLimitResult, RateLimitRule, RateLimitScope, RateLimitStorageErrorBehavior } from './rateLimit';
@@ -3,6 +3,7 @@
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.Proactive = void 0;
6
+ const storageCompatibility_1 = require("../../storage/storageCompatibility");
6
7
  const agents_activity_1 = require("@microsoft/agents-activity");
7
8
  const conversation_1 = require("./conversation");
8
9
  const agents_telemetry_1 = require("@microsoft/agents-telemetry");
@@ -27,7 +28,7 @@ class Proactive {
27
28
  constructor(app, options) {
28
29
  this._app = app;
29
30
  this._options = options;
30
- this._storage = options.storage;
31
+ this._storage = options.storage ? (0, storageCompatibility_1.asStorageV2)(options.storage) : undefined;
31
32
  }
32
33
  _storageKey(conversationId) {
33
34
  return `${STORAGE_KEY_PREFIX}${conversationId}`;
@@ -43,7 +44,7 @@ class Proactive {
43
44
  if (!storage) {
44
45
  throw agents_activity_1.ExceptionHelper.generateException(Error, errorHelper_1.Errors.ProactiveAppStorageRequired);
45
46
  }
46
- return storage;
47
+ return (0, storageCompatibility_1.asStorageV2)(storage);
47
48
  }
48
49
  async storeConversation(contextOrConversation) {
49
50
  return (0, agents_telemetry_1.trace)(traces_1.ProactiveTraceDefinitions.storeConversation, async ({ record, actions }) => {
@@ -56,7 +57,8 @@ class Proactive {
56
57
  const key = this._storageKey(id);
57
58
  record({ conversationId: id });
58
59
  const linkedItem = await actions.link(storage, key);
59
- await storage.write({ [key]: { ...linkedItem, reference: conv.reference, claims: conv.claims } });
60
+ const results = await storage.write({ [key]: { ...linkedItem, reference: conv.reference, claims: conv.claims } });
61
+ (0, storageCompatibility_1.assertStorageWriteSucceeded)(results, [key]);
60
62
  return id;
61
63
  });
62
64
  }
@@ -75,10 +77,10 @@ class Proactive {
75
77
  */
76
78
  async getConversation(conversationId) {
77
79
  return (0, agents_telemetry_1.trace)(traces_1.ProactiveTraceDefinitions.getConversation, async ({ record }) => {
78
- var _a;
79
80
  record({ conversationId });
80
81
  const storageKey = this._storageKey(conversationId);
81
- const stored = (_a = (await this.requireStorage().read([storageKey]))) === null || _a === void 0 ? void 0 : _a[storageKey];
82
+ const results = await this.requireStorage().read([storageKey]);
83
+ const stored = (0, storageCompatibility_1.getStorageReadValue)(results, storageKey);
82
84
  if (!stored) {
83
85
  record({ found: false });
84
86
  return undefined;
@@ -127,7 +129,9 @@ class Proactive {
127
129
  async deleteConversation(conversationId) {
128
130
  return (0, agents_telemetry_1.trace)(traces_1.ProactiveTraceDefinitions.deleteConversation, async ({ record }) => {
129
131
  record({ conversationId });
130
- await this.requireStorage().delete([this._storageKey(conversationId)]);
132
+ const key = this._storageKey(conversationId);
133
+ const results = await this.requireStorage().delete([key]);
134
+ (0, storageCompatibility_1.assertStorageDeleteSucceeded)(results, [key]);
131
135
  });
132
136
  }
133
137
  async sendActivity(adapter, conversationOrId, activity) {