@dexto/core 1.6.25 → 1.6.27

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 (150) hide show
  1. package/dist/agent/DextoAgent.cjs +102 -104
  2. package/dist/agent/DextoAgent.d.ts +11 -10
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +103 -105
  5. package/dist/agent/error-codes.cjs +1 -0
  6. package/dist/agent/error-codes.d.ts +1 -0
  7. package/dist/agent/error-codes.d.ts.map +1 -1
  8. package/dist/agent/error-codes.js +1 -0
  9. package/dist/agent/errors.cjs +13 -0
  10. package/dist/agent/errors.d.ts +6 -0
  11. package/dist/agent/errors.d.ts.map +1 -1
  12. package/dist/agent/errors.js +13 -0
  13. package/dist/agent/index.d.ts +1 -0
  14. package/dist/agent/index.d.ts.map +1 -1
  15. package/dist/agent/schemas.d.ts +2 -2
  16. package/dist/agent/types.d.ts +11 -0
  17. package/dist/agent/types.d.ts.map +1 -1
  18. package/dist/approval/factory.cjs +1 -0
  19. package/dist/approval/factory.d.ts.map +1 -1
  20. package/dist/approval/factory.js +1 -0
  21. package/dist/approval/manager.cjs +345 -182
  22. package/dist/approval/manager.d.ts +45 -31
  23. package/dist/approval/manager.d.ts.map +1 -1
  24. package/dist/approval/manager.js +345 -182
  25. package/dist/approval/schemas.cjs +10 -0
  26. package/dist/approval/schemas.d.ts +305 -0
  27. package/dist/approval/schemas.d.ts.map +1 -1
  28. package/dist/approval/schemas.js +10 -0
  29. package/dist/approval/session-approval-store.cjs +91 -0
  30. package/dist/approval/session-approval-store.d.ts +55 -0
  31. package/dist/approval/session-approval-store.d.ts.map +1 -0
  32. package/dist/approval/session-approval-store.js +68 -0
  33. package/dist/events/index.cjs +210 -75
  34. package/dist/events/index.d.ts +44 -181
  35. package/dist/events/index.d.ts.map +1 -1
  36. package/dist/events/index.js +206 -74
  37. package/dist/hooks/manager.cjs +5 -2
  38. package/dist/hooks/manager.d.ts +2 -0
  39. package/dist/hooks/manager.d.ts.map +1 -1
  40. package/dist/hooks/manager.js +5 -2
  41. package/dist/hooks/types.d.ts +3 -0
  42. package/dist/hooks/types.d.ts.map +1 -1
  43. package/dist/index.browser.d.ts +1 -0
  44. package/dist/index.browser.d.ts.map +1 -1
  45. package/dist/index.cjs +3 -1
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/llm/executor/turn-executor.cjs +15 -7
  50. package/dist/llm/executor/turn-executor.d.ts +3 -1
  51. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  52. package/dist/llm/executor/turn-executor.js +15 -7
  53. package/dist/llm/services/factory.cjs +10 -4
  54. package/dist/llm/services/factory.d.ts +2 -21
  55. package/dist/llm/services/factory.d.ts.map +1 -1
  56. package/dist/llm/services/factory.js +11 -7
  57. package/dist/llm/services/types.d.ts +33 -2
  58. package/dist/llm/services/types.d.ts.map +1 -1
  59. package/dist/llm/services/vercel.cjs +33 -11
  60. package/dist/llm/services/vercel.d.ts +6 -3
  61. package/dist/llm/services/vercel.d.ts.map +1 -1
  62. package/dist/llm/services/vercel.js +29 -8
  63. package/dist/logger/default-logger-factory.d.ts +12 -12
  64. package/dist/logger/v2/schemas.d.ts +6 -6
  65. package/dist/mcp/manager.cjs +7 -2
  66. package/dist/mcp/manager.d.ts +3 -1
  67. package/dist/mcp/manager.d.ts.map +1 -1
  68. package/dist/mcp/manager.js +7 -2
  69. package/dist/mcp/mcp-client.cjs +71 -62
  70. package/dist/mcp/mcp-client.d.ts +3 -2
  71. package/dist/mcp/mcp-client.d.ts.map +1 -1
  72. package/dist/mcp/mcp-client.js +71 -62
  73. package/dist/mcp/schemas.d.ts +10 -10
  74. package/dist/resources/handlers/filesystem-handler.cjs +22 -3
  75. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  76. package/dist/resources/handlers/filesystem-handler.js +22 -3
  77. package/dist/runtime/host-runtime.cjs +163 -0
  78. package/dist/runtime/host-runtime.d.ts +23 -0
  79. package/dist/runtime/host-runtime.d.ts.map +1 -0
  80. package/dist/runtime/host-runtime.js +133 -0
  81. package/dist/runtime/index.cjs +42 -0
  82. package/dist/runtime/index.d.ts +2 -0
  83. package/dist/runtime/index.d.ts.map +1 -0
  84. package/dist/runtime/index.js +21 -0
  85. package/dist/runtime/run-context.cjs +53 -0
  86. package/dist/runtime/run-context.d.ts +13 -0
  87. package/dist/runtime/run-context.d.ts.map +1 -0
  88. package/dist/runtime/run-context.js +34 -0
  89. package/dist/session/chat-session.cjs +67 -71
  90. package/dist/session/chat-session.d.ts +25 -25
  91. package/dist/session/chat-session.d.ts.map +1 -1
  92. package/dist/session/chat-session.js +68 -72
  93. package/dist/session/error-codes.cjs +1 -0
  94. package/dist/session/error-codes.d.ts +2 -1
  95. package/dist/session/error-codes.d.ts.map +1 -1
  96. package/dist/session/error-codes.js +1 -0
  97. package/dist/session/errors.cjs +13 -0
  98. package/dist/session/errors.d.ts +6 -0
  99. package/dist/session/errors.d.ts.map +1 -1
  100. package/dist/session/errors.js +13 -0
  101. package/dist/session/message-queue-store.cjs +75 -0
  102. package/dist/session/message-queue-store.d.ts +16 -0
  103. package/dist/session/message-queue-store.d.ts.map +1 -0
  104. package/dist/session/message-queue-store.js +52 -0
  105. package/dist/session/message-queue.cjs +140 -46
  106. package/dist/session/message-queue.d.ts +18 -6
  107. package/dist/session/message-queue.d.ts.map +1 -1
  108. package/dist/session/message-queue.js +140 -46
  109. package/dist/session/session-manager.cjs +130 -25
  110. package/dist/session/session-manager.d.ts +18 -1
  111. package/dist/session/session-manager.d.ts.map +1 -1
  112. package/dist/session/session-manager.js +130 -25
  113. package/dist/session/title-generator.cjs +9 -2
  114. package/dist/session/title-generator.d.ts +2 -0
  115. package/dist/session/title-generator.d.ts.map +1 -1
  116. package/dist/session/title-generator.js +9 -2
  117. package/dist/telemetry/decorators.cjs +75 -57
  118. package/dist/telemetry/decorators.d.ts +2 -0
  119. package/dist/telemetry/decorators.d.ts.map +1 -1
  120. package/dist/telemetry/decorators.js +75 -57
  121. package/dist/telemetry/errors.cjs +2 -2
  122. package/dist/telemetry/errors.js +2 -2
  123. package/dist/telemetry/index.d.ts +1 -1
  124. package/dist/telemetry/index.d.ts.map +1 -1
  125. package/dist/telemetry/index.js +3 -1
  126. package/dist/telemetry/telemetry.cjs +62 -21
  127. package/dist/telemetry/telemetry.d.ts +14 -0
  128. package/dist/telemetry/telemetry.d.ts.map +1 -1
  129. package/dist/telemetry/telemetry.js +62 -21
  130. package/dist/telemetry/utils.cjs +9 -6
  131. package/dist/telemetry/utils.d.ts +3 -0
  132. package/dist/telemetry/utils.d.ts.map +1 -1
  133. package/dist/telemetry/utils.js +9 -6
  134. package/dist/test-utils/session-state-stores.cjs +68 -0
  135. package/dist/test-utils/session-state-stores.js +42 -0
  136. package/dist/tools/session-tool-preferences-store.cjs +86 -0
  137. package/dist/tools/session-tool-preferences-store.d.ts +29 -0
  138. package/dist/tools/session-tool-preferences-store.d.ts.map +1 -0
  139. package/dist/tools/session-tool-preferences-store.js +63 -0
  140. package/dist/tools/tool-manager.cjs +223 -68
  141. package/dist/tools/tool-manager.d.ts +29 -9
  142. package/dist/tools/tool-manager.d.ts.map +1 -1
  143. package/dist/tools/tool-manager.js +223 -68
  144. package/dist/tools/types.d.ts +7 -1
  145. package/dist/tools/types.d.ts.map +1 -1
  146. package/dist/utils/service-initializer.cjs +38 -5
  147. package/dist/utils/service-initializer.d.ts +11 -1
  148. package/dist/utils/service-initializer.d.ts.map +1 -1
  149. package/dist/utils/service-initializer.js +36 -4
  150. package/package.json +1 -1
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var session_state_stores_exports = {};
20
+ __export(session_state_stores_exports, {
21
+ createInMemoryMessageQueueStore: () => createInMemoryMessageQueueStore,
22
+ createInMemorySessionApprovalStore: () => createInMemorySessionApprovalStore,
23
+ createInMemorySessionStateStorage: () => createInMemorySessionStateStorage,
24
+ createInMemorySessionToolPreferencesStore: () => createInMemorySessionToolPreferencesStore
25
+ });
26
+ module.exports = __toCommonJS(session_state_stores_exports);
27
+ var import_session_approval_store = require("../approval/session-approval-store.js");
28
+ var import_session_tool_preferences_store = require("../tools/session-tool-preferences-store.js");
29
+ var import_in_memory_storage = require("./in-memory-storage.js");
30
+ function createInMemorySessionStateStorage() {
31
+ const cache = (0, import_in_memory_storage.createInMemoryCache)();
32
+ const database = (0, import_in_memory_storage.createInMemoryDatabase)();
33
+ return {
34
+ getCache: () => cache,
35
+ getDatabase: () => database
36
+ };
37
+ }
38
+ function createInMemorySessionApprovalStore(logger, storageManager = createInMemorySessionStateStorage()) {
39
+ return new import_session_approval_store.SessionApprovalStore(storageManager, logger);
40
+ }
41
+ function createInMemorySessionToolPreferencesStore(logger, storageManager = createInMemorySessionStateStorage()) {
42
+ return new import_session_tool_preferences_store.SessionToolPreferencesStore(storageManager, logger);
43
+ }
44
+ function createInMemoryMessageQueueStore() {
45
+ const queues = /* @__PURE__ */ new Map();
46
+ return {
47
+ async load(sessionId) {
48
+ return structuredClone(queues.get(sessionId) ?? []);
49
+ },
50
+ async save(sessionId, queue) {
51
+ if (queue.length === 0) {
52
+ queues.delete(sessionId);
53
+ return;
54
+ }
55
+ queues.set(sessionId, structuredClone(queue));
56
+ },
57
+ async delete(sessionId) {
58
+ queues.delete(sessionId);
59
+ }
60
+ };
61
+ }
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ createInMemoryMessageQueueStore,
65
+ createInMemorySessionApprovalStore,
66
+ createInMemorySessionStateStorage,
67
+ createInMemorySessionToolPreferencesStore
68
+ });
@@ -0,0 +1,42 @@
1
+ import "../chunk-PTJYTZNU.js";
2
+ import { SessionApprovalStore } from "../approval/session-approval-store.js";
3
+ import { SessionToolPreferencesStore } from "../tools/session-tool-preferences-store.js";
4
+ import { createInMemoryCache, createInMemoryDatabase } from "./in-memory-storage.js";
5
+ function createInMemorySessionStateStorage() {
6
+ const cache = createInMemoryCache();
7
+ const database = createInMemoryDatabase();
8
+ return {
9
+ getCache: () => cache,
10
+ getDatabase: () => database
11
+ };
12
+ }
13
+ function createInMemorySessionApprovalStore(logger, storageManager = createInMemorySessionStateStorage()) {
14
+ return new SessionApprovalStore(storageManager, logger);
15
+ }
16
+ function createInMemorySessionToolPreferencesStore(logger, storageManager = createInMemorySessionStateStorage()) {
17
+ return new SessionToolPreferencesStore(storageManager, logger);
18
+ }
19
+ function createInMemoryMessageQueueStore() {
20
+ const queues = /* @__PURE__ */ new Map();
21
+ return {
22
+ async load(sessionId) {
23
+ return structuredClone(queues.get(sessionId) ?? []);
24
+ },
25
+ async save(sessionId, queue) {
26
+ if (queue.length === 0) {
27
+ queues.delete(sessionId);
28
+ return;
29
+ }
30
+ queues.set(sessionId, structuredClone(queue));
31
+ },
32
+ async delete(sessionId) {
33
+ queues.delete(sessionId);
34
+ }
35
+ };
36
+ }
37
+ export {
38
+ createInMemoryMessageQueueStore,
39
+ createInMemorySessionApprovalStore,
40
+ createInMemorySessionStateStorage,
41
+ createInMemorySessionToolPreferencesStore
42
+ };
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var session_tool_preferences_store_exports = {};
20
+ __export(session_tool_preferences_store_exports, {
21
+ SessionToolPreferencesStore: () => SessionToolPreferencesStore
22
+ });
23
+ module.exports = __toCommonJS(session_tool_preferences_store_exports);
24
+ var import_zod = require("zod");
25
+ const SessionToolPreferencesSchema = import_zod.z.object({
26
+ userAutoApproveTools: import_zod.z.array(import_zod.z.string()).default([]),
27
+ disabledTools: import_zod.z.array(import_zod.z.string()).default([])
28
+ }).strict();
29
+ const DEFAULT_SESSION_TOOL_PREFERENCES = {
30
+ userAutoApproveTools: [],
31
+ disabledTools: []
32
+ };
33
+ class SessionToolPreferencesStore {
34
+ constructor(storageManager, logger, options = {}) {
35
+ this.storageManager = storageManager;
36
+ this.logger = logger;
37
+ const cacheTtlMs = options.cacheTtlMs ?? 36e5;
38
+ this.cacheTtlSeconds = Math.max(1, Math.floor(cacheTtlMs / 1e3));
39
+ }
40
+ cacheTtlSeconds;
41
+ buildKey(sessionId) {
42
+ return `session-tool-preferences:${sessionId}`;
43
+ }
44
+ async load(sessionId) {
45
+ const key = this.buildKey(sessionId);
46
+ const cached = await this.storageManager.getCache().get(key);
47
+ if (cached !== void 0) {
48
+ return this.parsePreferences(cached, key);
49
+ }
50
+ const stored = await this.storageManager.getDatabase().get(key);
51
+ if (stored === void 0) {
52
+ return structuredClone(DEFAULT_SESSION_TOOL_PREFERENCES);
53
+ }
54
+ const parsed = this.parsePreferences(stored, key);
55
+ await this.storageManager.getCache().set(key, parsed, this.cacheTtlSeconds);
56
+ return parsed;
57
+ }
58
+ async save(sessionId, preferences) {
59
+ const key = this.buildKey(sessionId);
60
+ const normalized = SessionToolPreferencesSchema.parse(preferences);
61
+ await this.storageManager.getDatabase().set(key, normalized);
62
+ await this.storageManager.getCache().set(key, normalized, this.cacheTtlSeconds);
63
+ }
64
+ async delete(sessionId) {
65
+ const key = this.buildKey(sessionId);
66
+ await Promise.all([
67
+ this.storageManager.getDatabase().delete(key),
68
+ this.storageManager.getCache().delete(key)
69
+ ]);
70
+ }
71
+ parsePreferences(value, key) {
72
+ const result = SessionToolPreferencesSchema.safeParse(value);
73
+ if (result.success) {
74
+ return result.data;
75
+ }
76
+ this.logger.warn("Invalid persisted session tool preferences encountered; using defaults", {
77
+ key,
78
+ error: result.error.message
79
+ });
80
+ return structuredClone(DEFAULT_SESSION_TOOL_PREFERENCES);
81
+ }
82
+ }
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ SessionToolPreferencesStore
86
+ });
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ import type { StorageManager } from '../storage/index.js';
3
+ import type { Logger } from '../logger/v2/types.js';
4
+ declare const SessionToolPreferencesSchema: z.ZodObject<{
5
+ userAutoApproveTools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6
+ disabledTools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
7
+ }, "strict", z.ZodTypeAny, {
8
+ userAutoApproveTools: string[];
9
+ disabledTools: string[];
10
+ }, {
11
+ userAutoApproveTools?: string[] | undefined;
12
+ disabledTools?: string[] | undefined;
13
+ }>;
14
+ export type SessionToolPreferences = z.output<typeof SessionToolPreferencesSchema>;
15
+ export declare class SessionToolPreferencesStore {
16
+ private readonly storageManager;
17
+ private readonly logger;
18
+ private readonly cacheTtlSeconds;
19
+ constructor(storageManager: StorageManager, logger: Logger, options?: {
20
+ cacheTtlMs?: number;
21
+ });
22
+ private buildKey;
23
+ load(sessionId: string): Promise<SessionToolPreferences>;
24
+ save(sessionId: string, preferences: SessionToolPreferences): Promise<void>;
25
+ delete(sessionId: string): Promise<void>;
26
+ private parsePreferences;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=session-tool-preferences-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-tool-preferences-store.d.ts","sourceRoot":"","sources":["../../src/tools/session-tool-preferences-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,QAAA,MAAM,4BAA4B;;;;;;;;;EAKrB,CAAC;AAEd,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAOnF,qBAAa,2BAA2B;IAIhC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAGpB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EAC/B,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAMzC,OAAO,CAAC,QAAQ;IAIV,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAiBxD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3E,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,OAAO,CAAC,gBAAgB;CAY3B"}
@@ -0,0 +1,63 @@
1
+ import "../chunk-PTJYTZNU.js";
2
+ import { z } from "zod";
3
+ const SessionToolPreferencesSchema = z.object({
4
+ userAutoApproveTools: z.array(z.string()).default([]),
5
+ disabledTools: z.array(z.string()).default([])
6
+ }).strict();
7
+ const DEFAULT_SESSION_TOOL_PREFERENCES = {
8
+ userAutoApproveTools: [],
9
+ disabledTools: []
10
+ };
11
+ class SessionToolPreferencesStore {
12
+ constructor(storageManager, logger, options = {}) {
13
+ this.storageManager = storageManager;
14
+ this.logger = logger;
15
+ const cacheTtlMs = options.cacheTtlMs ?? 36e5;
16
+ this.cacheTtlSeconds = Math.max(1, Math.floor(cacheTtlMs / 1e3));
17
+ }
18
+ cacheTtlSeconds;
19
+ buildKey(sessionId) {
20
+ return `session-tool-preferences:${sessionId}`;
21
+ }
22
+ async load(sessionId) {
23
+ const key = this.buildKey(sessionId);
24
+ const cached = await this.storageManager.getCache().get(key);
25
+ if (cached !== void 0) {
26
+ return this.parsePreferences(cached, key);
27
+ }
28
+ const stored = await this.storageManager.getDatabase().get(key);
29
+ if (stored === void 0) {
30
+ return structuredClone(DEFAULT_SESSION_TOOL_PREFERENCES);
31
+ }
32
+ const parsed = this.parsePreferences(stored, key);
33
+ await this.storageManager.getCache().set(key, parsed, this.cacheTtlSeconds);
34
+ return parsed;
35
+ }
36
+ async save(sessionId, preferences) {
37
+ const key = this.buildKey(sessionId);
38
+ const normalized = SessionToolPreferencesSchema.parse(preferences);
39
+ await this.storageManager.getDatabase().set(key, normalized);
40
+ await this.storageManager.getCache().set(key, normalized, this.cacheTtlSeconds);
41
+ }
42
+ async delete(sessionId) {
43
+ const key = this.buildKey(sessionId);
44
+ await Promise.all([
45
+ this.storageManager.getDatabase().delete(key),
46
+ this.storageManager.getCache().delete(key)
47
+ ]);
48
+ }
49
+ parsePreferences(value, key) {
50
+ const result = SessionToolPreferencesSchema.safeParse(value);
51
+ if (result.success) {
52
+ return result.data;
53
+ }
54
+ this.logger.warn("Invalid persisted session tool preferences encountered; using defaults", {
55
+ key,
56
+ error: result.error.message
57
+ });
58
+ return structuredClone(DEFAULT_SESSION_TOOL_PREFERENCES);
59
+ }
60
+ }
61
+ export {
62
+ SessionToolPreferencesStore
63
+ };