@dexto/core 1.6.0 → 1.6.2

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 (188) hide show
  1. package/dist/agent/DextoAgent.cjs +79 -5
  2. package/dist/agent/DextoAgent.d.ts +24 -2
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +79 -5
  5. package/dist/agent/agent-options.d.ts +6 -1
  6. package/dist/agent/agent-options.d.ts.map +1 -1
  7. package/dist/agent/schemas.d.ts +18 -18
  8. package/dist/approval/manager.cjs +87 -27
  9. package/dist/approval/manager.d.ts +10 -1
  10. package/dist/approval/manager.d.ts.map +1 -1
  11. package/dist/approval/manager.js +87 -27
  12. package/dist/approval/schemas.cjs +22 -8
  13. package/dist/approval/schemas.d.ts +276 -102
  14. package/dist/approval/schemas.d.ts.map +1 -1
  15. package/dist/approval/schemas.js +22 -8
  16. package/dist/context/manager.cjs +2 -2
  17. package/dist/context/manager.d.ts +2 -1
  18. package/dist/context/manager.d.ts.map +1 -1
  19. package/dist/context/manager.js +2 -2
  20. package/dist/context/types.d.ts +3 -2
  21. package/dist/context/types.d.ts.map +1 -1
  22. package/dist/events/index.d.ts +26 -13
  23. package/dist/events/index.d.ts.map +1 -1
  24. package/dist/hooks/index.d.ts +1 -1
  25. package/dist/hooks/index.d.ts.map +1 -1
  26. package/dist/hooks/types.d.ts +1 -22
  27. package/dist/hooks/types.d.ts.map +1 -1
  28. package/dist/llm/executor/provider-options.cjs +223 -28
  29. package/dist/llm/executor/provider-options.d.ts +3 -37
  30. package/dist/llm/executor/provider-options.d.ts.map +1 -1
  31. package/dist/llm/executor/provider-options.js +227 -27
  32. package/dist/llm/executor/stream-processor.cjs +57 -34
  33. package/dist/llm/executor/stream-processor.d.ts +12 -4
  34. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  35. package/dist/llm/executor/stream-processor.js +55 -32
  36. package/dist/llm/executor/turn-executor.cjs +66 -44
  37. package/dist/llm/executor/turn-executor.d.ts +3 -3
  38. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  39. package/dist/llm/executor/turn-executor.js +56 -34
  40. package/dist/llm/formatters/vercel.cjs +15 -3
  41. package/dist/llm/formatters/vercel.d.ts +1 -0
  42. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  43. package/dist/llm/formatters/vercel.js +15 -3
  44. package/dist/llm/index.cjs +8 -0
  45. package/dist/llm/index.d.ts +2 -1
  46. package/dist/llm/index.d.ts.map +1 -1
  47. package/dist/llm/index.js +7 -0
  48. package/dist/llm/providers/local/schemas.d.ts +2 -2
  49. package/dist/llm/providers/openrouter-model-registry.cjs +66 -11
  50. package/dist/llm/providers/openrouter-model-registry.d.ts +26 -0
  51. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -1
  52. package/dist/llm/providers/openrouter-model-registry.js +65 -11
  53. package/dist/llm/reasoning/anthropic-betas.cjs +31 -0
  54. package/dist/llm/reasoning/anthropic-betas.d.ts +3 -0
  55. package/dist/llm/reasoning/anthropic-betas.d.ts.map +1 -0
  56. package/dist/llm/reasoning/anthropic-betas.js +7 -0
  57. package/dist/llm/reasoning/anthropic-thinking.cjs +79 -0
  58. package/dist/llm/reasoning/anthropic-thinking.d.ts +15 -0
  59. package/dist/llm/reasoning/anthropic-thinking.d.ts.map +1 -0
  60. package/dist/llm/reasoning/anthropic-thinking.js +52 -0
  61. package/dist/llm/reasoning/openai-reasoning-effort.cjs +86 -0
  62. package/dist/llm/reasoning/openai-reasoning-effort.d.ts +5 -0
  63. package/dist/llm/reasoning/openai-reasoning-effort.d.ts.map +1 -0
  64. package/dist/llm/reasoning/openai-reasoning-effort.js +61 -0
  65. package/dist/llm/reasoning/profile.cjs +113 -0
  66. package/dist/llm/reasoning/profile.d.ts +13 -0
  67. package/dist/llm/reasoning/profile.d.ts.map +1 -0
  68. package/dist/llm/reasoning/profile.js +92 -0
  69. package/dist/llm/reasoning/profiles/anthropic.cjs +61 -0
  70. package/dist/llm/reasoning/profiles/anthropic.d.ts +8 -0
  71. package/dist/llm/reasoning/profiles/anthropic.d.ts.map +1 -0
  72. package/dist/llm/reasoning/profiles/anthropic.js +45 -0
  73. package/dist/llm/reasoning/profiles/bedrock.cjs +54 -0
  74. package/dist/llm/reasoning/profiles/bedrock.d.ts +3 -0
  75. package/dist/llm/reasoning/profiles/bedrock.d.ts.map +1 -0
  76. package/dist/llm/reasoning/profiles/bedrock.js +36 -0
  77. package/dist/llm/reasoning/profiles/google.cjs +45 -0
  78. package/dist/llm/reasoning/profiles/google.d.ts +9 -0
  79. package/dist/llm/reasoning/profiles/google.d.ts.map +1 -0
  80. package/dist/llm/reasoning/profiles/google.js +21 -0
  81. package/dist/llm/reasoning/profiles/openai-compatible.cjs +39 -0
  82. package/dist/llm/reasoning/profiles/openai-compatible.d.ts +3 -0
  83. package/dist/llm/reasoning/profiles/openai-compatible.d.ts.map +1 -0
  84. package/dist/llm/reasoning/profiles/openai-compatible.js +16 -0
  85. package/dist/llm/reasoning/profiles/openai.cjs +41 -0
  86. package/dist/llm/reasoning/profiles/openai.d.ts +3 -0
  87. package/dist/llm/reasoning/profiles/openai.d.ts.map +1 -0
  88. package/dist/llm/reasoning/profiles/openai.js +18 -0
  89. package/dist/llm/reasoning/profiles/openrouter.cjs +83 -0
  90. package/dist/llm/reasoning/profiles/openrouter.d.ts +10 -0
  91. package/dist/llm/reasoning/profiles/openrouter.d.ts.map +1 -0
  92. package/dist/llm/reasoning/profiles/openrouter.js +59 -0
  93. package/dist/llm/reasoning/profiles/shared.cjs +80 -0
  94. package/dist/llm/reasoning/profiles/shared.d.ts +25 -0
  95. package/dist/llm/reasoning/profiles/shared.d.ts.map +1 -0
  96. package/dist/llm/reasoning/profiles/shared.js +53 -0
  97. package/dist/llm/reasoning/profiles/vertex.cjs +46 -0
  98. package/dist/llm/reasoning/profiles/vertex.d.ts +3 -0
  99. package/dist/llm/reasoning/profiles/vertex.d.ts.map +1 -0
  100. package/dist/llm/reasoning/profiles/vertex.js +23 -0
  101. package/dist/llm/registry/auto-update.cjs +18 -0
  102. package/dist/llm/registry/auto-update.d.ts.map +1 -1
  103. package/dist/llm/registry/auto-update.js +18 -0
  104. package/dist/llm/registry/index.cjs +126 -26
  105. package/dist/llm/registry/index.d.ts +48 -4
  106. package/dist/llm/registry/index.d.ts.map +1 -1
  107. package/dist/llm/registry/index.js +136 -28
  108. package/dist/llm/registry/models.generated.cjs +5198 -59
  109. package/dist/llm/registry/models.generated.d.ts +1893 -76
  110. package/dist/llm/registry/models.generated.d.ts.map +1 -1
  111. package/dist/llm/registry/models.generated.js +5196 -58
  112. package/dist/llm/registry/sync.cjs +72 -1
  113. package/dist/llm/registry/sync.d.ts +21 -1
  114. package/dist/llm/registry/sync.d.ts.map +1 -1
  115. package/dist/llm/registry/sync.js +72 -1
  116. package/dist/llm/resolver.cjs +13 -1
  117. package/dist/llm/resolver.d.ts.map +1 -1
  118. package/dist/llm/resolver.js +13 -1
  119. package/dist/llm/schemas.cjs +75 -14
  120. package/dist/llm/schemas.d.ts +84 -27
  121. package/dist/llm/schemas.d.ts.map +1 -1
  122. package/dist/llm/schemas.js +75 -14
  123. package/dist/llm/services/factory.cjs +55 -8
  124. package/dist/llm/services/factory.d.ts +1 -1
  125. package/dist/llm/services/factory.d.ts.map +1 -1
  126. package/dist/llm/services/factory.js +58 -8
  127. package/dist/llm/services/vercel.cjs +2 -2
  128. package/dist/llm/services/vercel.js +2 -2
  129. package/dist/llm/types.d.ts +9 -0
  130. package/dist/llm/types.d.ts.map +1 -1
  131. package/dist/logger/default-logger-factory.d.ts +12 -12
  132. package/dist/logger/v2/dexto-logger.cjs +35 -0
  133. package/dist/logger/v2/dexto-logger.d.ts +19 -0
  134. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  135. package/dist/logger/v2/dexto-logger.js +35 -0
  136. package/dist/logger/v2/schemas.d.ts +6 -6
  137. package/dist/logger/v2/test-utils.cjs +2 -0
  138. package/dist/logger/v2/test-utils.d.ts.map +1 -1
  139. package/dist/logger/v2/test-utils.js +2 -0
  140. package/dist/logger/v2/types.d.ts +14 -1
  141. package/dist/logger/v2/types.d.ts.map +1 -1
  142. package/dist/mcp/schemas.d.ts +15 -15
  143. package/dist/memory/schemas.d.ts +4 -4
  144. package/dist/prompts/index.cjs +9 -0
  145. package/dist/prompts/index.d.ts +1 -0
  146. package/dist/prompts/index.d.ts.map +1 -1
  147. package/dist/prompts/index.js +10 -0
  148. package/dist/prompts/prompt-manager.cjs +2 -0
  149. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  150. package/dist/prompts/prompt-manager.js +2 -0
  151. package/dist/prompts/providers/config-prompt-provider.cjs +11 -1
  152. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  153. package/dist/prompts/providers/config-prompt-provider.js +11 -1
  154. package/dist/prompts/schemas.cjs +2 -2
  155. package/dist/prompts/schemas.d.ts +7 -7
  156. package/dist/prompts/schemas.js +2 -2
  157. package/dist/prompts/types.d.ts +6 -2
  158. package/dist/prompts/types.d.ts.map +1 -1
  159. package/dist/systemPrompt/in-built-prompts.cjs +5 -5
  160. package/dist/systemPrompt/in-built-prompts.d.ts +1 -1
  161. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  162. package/dist/systemPrompt/in-built-prompts.js +5 -5
  163. package/dist/systemPrompt/schemas.d.ts +5 -5
  164. package/dist/systemPrompt/types.d.ts +11 -0
  165. package/dist/systemPrompt/types.d.ts.map +1 -1
  166. package/dist/tools/display-types.d.ts +10 -0
  167. package/dist/tools/display-types.d.ts.map +1 -1
  168. package/dist/tools/index.cjs +3 -1
  169. package/dist/tools/index.d.ts +1 -0
  170. package/dist/tools/index.d.ts.map +1 -1
  171. package/dist/tools/index.js +1 -0
  172. package/dist/tools/presentation.cjs +49 -0
  173. package/dist/tools/presentation.d.ts +11 -0
  174. package/dist/tools/presentation.d.ts.map +1 -0
  175. package/dist/tools/presentation.js +24 -0
  176. package/dist/tools/tool-manager.cjs +389 -136
  177. package/dist/tools/tool-manager.d.ts +36 -24
  178. package/dist/tools/tool-manager.d.ts.map +1 -1
  179. package/dist/tools/tool-manager.js +389 -136
  180. package/dist/tools/types.d.ts +134 -55
  181. package/dist/tools/types.d.ts.map +1 -1
  182. package/dist/utils/path.cjs +10 -1
  183. package/dist/utils/path.d.ts +5 -2
  184. package/dist/utils/path.d.ts.map +1 -1
  185. package/dist/utils/path.js +10 -1
  186. package/dist/utils/service-initializer.d.ts +1 -0
  187. package/dist/utils/service-initializer.d.ts.map +1 -1
  188. package/package.json +7 -5
@@ -174,6 +174,9 @@ let _DextoAgent = class _DextoAgent {
174
174
  activeStreamControllers = /* @__PURE__ */ new Map();
175
175
  // Host overrides for service initialization (e.g. session logger factory)
176
176
  overrides;
177
+ toolkitLoader;
178
+ loadedToolkits = /* @__PURE__ */ new Set();
179
+ loadingToolkits = /* @__PURE__ */ new Set();
177
180
  // DI-provided local tools.
178
181
  tools;
179
182
  compactionStrategy;
@@ -248,6 +251,7 @@ let _DextoAgent = class _DextoAgent {
248
251
  overrides.hooks = hooks;
249
252
  }
250
253
  this.overrides = overrides;
254
+ this.toolkitLoader = options.toolkitLoader;
251
255
  if (overrides.mcpAuthProviderFactory !== void 0) {
252
256
  this.mcpAuthProviderFactory = overrides.mcpAuthProviderFactory;
253
257
  }
@@ -1187,6 +1191,28 @@ Either:
1187
1191
  this.ensureStarted();
1188
1192
  return await this.sessionManager.listSessions();
1189
1193
  }
1194
+ /**
1195
+ * Sets the log level for this agent.
1196
+ *
1197
+ * Note: In some hosts (e.g. interactive CLI), session logs may be written by
1198
+ * session-scoped file loggers rather than the base agent logger. When a sessionId
1199
+ * is provided, this also updates the in-memory session logger so file logs reflect
1200
+ * the new level immediately.
1201
+ */
1202
+ async setLogLevel(level, options) {
1203
+ this.ensureStarted();
1204
+ this.logger.setLevel(level);
1205
+ const sessionId = options?.sessionId;
1206
+ if (!sessionId) {
1207
+ return;
1208
+ }
1209
+ const session = await this.sessionManager.getSession(sessionId, false);
1210
+ if (!session) {
1211
+ return;
1212
+ }
1213
+ session.logger.setLevel(level);
1214
+ session.logger.debug(`Log level changed to '${level}'`);
1215
+ }
1190
1216
  /**
1191
1217
  * Ends a session by removing it from memory without deleting conversation history.
1192
1218
  * Used for cleanup, agent shutdown, and session expiry.
@@ -1432,7 +1458,7 @@ Either:
1432
1458
  this.logger.debug(`Compaction skipped for session ${sessionId} - history too short`);
1433
1459
  return null;
1434
1460
  }
1435
- const contributorContext = { mcpManager: this.mcpManager };
1461
+ const contributorContext = await this.toolManager.buildContributorContext();
1436
1462
  const tools = await llmService.getEnabledTools();
1437
1463
  const beforeEstimate = await contextManager.getContextTokenEstimate(
1438
1464
  contributorContext,
@@ -1510,7 +1536,7 @@ Either:
1510
1536
  throw import_session.SessionError.notFound(sessionId);
1511
1537
  }
1512
1538
  const contextManager = session.getContextManager();
1513
- const contributorContext = { mcpManager: this.mcpManager };
1539
+ const contributorContext = await this.toolManager.buildContributorContext();
1514
1540
  const llmService = session.getLLMService();
1515
1541
  const tools = await llmService.getEnabledTools();
1516
1542
  const tokenEstimate = await contextManager.getContextTokenEstimate(
@@ -2025,6 +2051,56 @@ Either:
2025
2051
  this.ensureStarted();
2026
2052
  return await this.toolManager.getAllTools();
2027
2053
  }
2054
+ /**
2055
+ * Dynamically load toolkits (tool factory types) at runtime.
2056
+ * Toolkits are resolved by the host-provided toolkitLoader and appended to the tool manager.
2057
+ */
2058
+ async loadToolkits(toolkits) {
2059
+ this.ensureStarted();
2060
+ if (!Array.isArray(toolkits) || toolkits.some((toolkit) => typeof toolkit !== "string" || toolkit.trim() === "")) {
2061
+ throw import_errors2.AgentError.apiValidationError("toolkits must be an array of non-empty strings");
2062
+ }
2063
+ const normalized = Array.from(new Set(toolkits.map((toolkit) => toolkit.trim())));
2064
+ if (normalized.length === 0) {
2065
+ return { loaded: [], skipped: [] };
2066
+ }
2067
+ if (!this.toolkitLoader) {
2068
+ throw import_errors2.AgentError.initializationFailed("Toolkit loader not configured");
2069
+ }
2070
+ const toLoad = normalized.filter(
2071
+ (toolkit) => !this.loadedToolkits.has(toolkit) && !this.loadingToolkits.has(toolkit)
2072
+ );
2073
+ const skipped = normalized.filter(
2074
+ (toolkit) => this.loadedToolkits.has(toolkit) || this.loadingToolkits.has(toolkit)
2075
+ );
2076
+ if (toLoad.length === 0) {
2077
+ return { loaded: [], skipped };
2078
+ }
2079
+ toLoad.forEach((toolkit) => {
2080
+ this.loadingToolkits.add(toolkit);
2081
+ });
2082
+ let tools;
2083
+ try {
2084
+ tools = await this.toolkitLoader(toLoad);
2085
+ } finally {
2086
+ toLoad.forEach((toolkit) => {
2087
+ this.loadingToolkits.delete(toolkit);
2088
+ });
2089
+ }
2090
+ const existingIds = new Set(this.tools.map((tool) => tool.id));
2091
+ const newTools = tools.filter((tool) => !existingIds.has(tool.id));
2092
+ if (newTools.length > 0) {
2093
+ this.toolManager.addTools(newTools);
2094
+ this.tools = [...this.tools, ...newTools];
2095
+ }
2096
+ for (const toolkit of toLoad) {
2097
+ this.loadedToolkits.add(toolkit);
2098
+ }
2099
+ return {
2100
+ loaded: toLoad,
2101
+ skipped
2102
+ };
2103
+ }
2028
2104
  /**
2029
2105
  * Gets tools enabled for LLM context (applies session overrides + global preferences).
2030
2106
  */
@@ -2277,9 +2353,7 @@ Either:
2277
2353
  */
2278
2354
  async getSystemPrompt() {
2279
2355
  this.ensureStarted();
2280
- const context2 = {
2281
- mcpManager: this.mcpManager
2282
- };
2356
+ const context2 = await this.toolManager.buildContributorContext();
2283
2357
  return await this.systemPromptManager.build(context2);
2284
2358
  }
2285
2359
  /**
@@ -9,7 +9,7 @@ import { AgentStateManager } from './state-manager.js';
9
9
  import { SessionManager, ChatSession } from '../session/index.js';
10
10
  import type { SessionMetadata } from '../session/index.js';
11
11
  import { AgentServices } from '../utils/service-initializer.js';
12
- import type { Logger } from '../logger/v2/types.js';
12
+ import type { Logger, LogLevel } from '../logger/v2/types.js';
13
13
  import type { McpServerConfig, McpServerStatus } from '../mcp/schemas.js';
14
14
  import type { ModelInfo } from '../llm/registry/index.js';
15
15
  import type { LLMProvider } from '../llm/types.js';
@@ -114,7 +114,10 @@ export declare class DextoAgent {
114
114
  private mcpAuthProviderFactory;
115
115
  private activeStreamControllers;
116
116
  private readonly overrides;
117
- private readonly tools;
117
+ private readonly toolkitLoader;
118
+ private readonly loadedToolkits;
119
+ private readonly loadingToolkits;
120
+ private tools;
118
121
  private readonly compactionStrategy;
119
122
  readonly logger: Logger;
120
123
  /**
@@ -352,6 +355,17 @@ export declare class DextoAgent {
352
355
  * @returns Array of session IDs
353
356
  */
354
357
  listSessions(): Promise<string[]>;
358
+ /**
359
+ * Sets the log level for this agent.
360
+ *
361
+ * Note: In some hosts (e.g. interactive CLI), session logs may be written by
362
+ * session-scoped file loggers rather than the base agent logger. When a sessionId
363
+ * is provided, this also updates the in-memory session logger so file logs reflect
364
+ * the new level immediately.
365
+ */
366
+ setLogLevel(level: LogLevel, options?: {
367
+ sessionId?: string;
368
+ }): Promise<void>;
355
369
  /**
356
370
  * Ends a session by removing it from memory without deleting conversation history.
357
371
  * Used for cleanup, agent shutdown, and session expiry.
@@ -721,6 +735,14 @@ export declare class DextoAgent {
721
735
  * @returns Promise resolving to a map of tool names to tool definitions
722
736
  */
723
737
  getAllTools(): Promise<ToolSet>;
738
+ /**
739
+ * Dynamically load toolkits (tool factory types) at runtime.
740
+ * Toolkits are resolved by the host-provided toolkitLoader and appended to the tool manager.
741
+ */
742
+ loadToolkits(toolkits: string[]): Promise<{
743
+ loaded: string[];
744
+ skipped: string[];
745
+ }>;
724
746
  /**
725
747
  * Gets tools enabled for LLM context (applies session overrides + global preferences).
726
748
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DextoAgent.d.ts","sourceRoot":"","sources":["../../src/agent/DextoAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DextoAgent.d.ts","sourceRoot":"","sources":["../../src/agent/DextoAgent.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,9 @@ let _DextoAgent = class _DextoAgent {
109
109
  activeStreamControllers = /* @__PURE__ */ new Map();
110
110
  // Host overrides for service initialization (e.g. session logger factory)
111
111
  overrides;
112
+ toolkitLoader;
113
+ loadedToolkits = /* @__PURE__ */ new Set();
114
+ loadingToolkits = /* @__PURE__ */ new Set();
112
115
  // DI-provided local tools.
113
116
  tools;
114
117
  compactionStrategy;
@@ -183,6 +186,7 @@ let _DextoAgent = class _DextoAgent {
183
186
  overrides.hooks = hooks;
184
187
  }
185
188
  this.overrides = overrides;
189
+ this.toolkitLoader = options.toolkitLoader;
186
190
  if (overrides.mcpAuthProviderFactory !== void 0) {
187
191
  this.mcpAuthProviderFactory = overrides.mcpAuthProviderFactory;
188
192
  }
@@ -1122,6 +1126,28 @@ Either:
1122
1126
  this.ensureStarted();
1123
1127
  return await this.sessionManager.listSessions();
1124
1128
  }
1129
+ /**
1130
+ * Sets the log level for this agent.
1131
+ *
1132
+ * Note: In some hosts (e.g. interactive CLI), session logs may be written by
1133
+ * session-scoped file loggers rather than the base agent logger. When a sessionId
1134
+ * is provided, this also updates the in-memory session logger so file logs reflect
1135
+ * the new level immediately.
1136
+ */
1137
+ async setLogLevel(level, options) {
1138
+ this.ensureStarted();
1139
+ this.logger.setLevel(level);
1140
+ const sessionId = options?.sessionId;
1141
+ if (!sessionId) {
1142
+ return;
1143
+ }
1144
+ const session = await this.sessionManager.getSession(sessionId, false);
1145
+ if (!session) {
1146
+ return;
1147
+ }
1148
+ session.logger.setLevel(level);
1149
+ session.logger.debug(`Log level changed to '${level}'`);
1150
+ }
1125
1151
  /**
1126
1152
  * Ends a session by removing it from memory without deleting conversation history.
1127
1153
  * Used for cleanup, agent shutdown, and session expiry.
@@ -1367,7 +1393,7 @@ Either:
1367
1393
  this.logger.debug(`Compaction skipped for session ${sessionId} - history too short`);
1368
1394
  return null;
1369
1395
  }
1370
- const contributorContext = { mcpManager: this.mcpManager };
1396
+ const contributorContext = await this.toolManager.buildContributorContext();
1371
1397
  const tools = await llmService.getEnabledTools();
1372
1398
  const beforeEstimate = await contextManager.getContextTokenEstimate(
1373
1399
  contributorContext,
@@ -1445,7 +1471,7 @@ Either:
1445
1471
  throw SessionError.notFound(sessionId);
1446
1472
  }
1447
1473
  const contextManager = session.getContextManager();
1448
- const contributorContext = { mcpManager: this.mcpManager };
1474
+ const contributorContext = await this.toolManager.buildContributorContext();
1449
1475
  const llmService = session.getLLMService();
1450
1476
  const tools = await llmService.getEnabledTools();
1451
1477
  const tokenEstimate = await contextManager.getContextTokenEstimate(
@@ -1960,6 +1986,56 @@ Either:
1960
1986
  this.ensureStarted();
1961
1987
  return await this.toolManager.getAllTools();
1962
1988
  }
1989
+ /**
1990
+ * Dynamically load toolkits (tool factory types) at runtime.
1991
+ * Toolkits are resolved by the host-provided toolkitLoader and appended to the tool manager.
1992
+ */
1993
+ async loadToolkits(toolkits) {
1994
+ this.ensureStarted();
1995
+ if (!Array.isArray(toolkits) || toolkits.some((toolkit) => typeof toolkit !== "string" || toolkit.trim() === "")) {
1996
+ throw AgentError.apiValidationError("toolkits must be an array of non-empty strings");
1997
+ }
1998
+ const normalized = Array.from(new Set(toolkits.map((toolkit) => toolkit.trim())));
1999
+ if (normalized.length === 0) {
2000
+ return { loaded: [], skipped: [] };
2001
+ }
2002
+ if (!this.toolkitLoader) {
2003
+ throw AgentError.initializationFailed("Toolkit loader not configured");
2004
+ }
2005
+ const toLoad = normalized.filter(
2006
+ (toolkit) => !this.loadedToolkits.has(toolkit) && !this.loadingToolkits.has(toolkit)
2007
+ );
2008
+ const skipped = normalized.filter(
2009
+ (toolkit) => this.loadedToolkits.has(toolkit) || this.loadingToolkits.has(toolkit)
2010
+ );
2011
+ if (toLoad.length === 0) {
2012
+ return { loaded: [], skipped };
2013
+ }
2014
+ toLoad.forEach((toolkit) => {
2015
+ this.loadingToolkits.add(toolkit);
2016
+ });
2017
+ let tools;
2018
+ try {
2019
+ tools = await this.toolkitLoader(toLoad);
2020
+ } finally {
2021
+ toLoad.forEach((toolkit) => {
2022
+ this.loadingToolkits.delete(toolkit);
2023
+ });
2024
+ }
2025
+ const existingIds = new Set(this.tools.map((tool) => tool.id));
2026
+ const newTools = tools.filter((tool) => !existingIds.has(tool.id));
2027
+ if (newTools.length > 0) {
2028
+ this.toolManager.addTools(newTools);
2029
+ this.tools = [...this.tools, ...newTools];
2030
+ }
2031
+ for (const toolkit of toLoad) {
2032
+ this.loadedToolkits.add(toolkit);
2033
+ }
2034
+ return {
2035
+ loaded: toLoad,
2036
+ skipped
2037
+ };
2038
+ }
1963
2039
  /**
1964
2040
  * Gets tools enabled for LLM context (applies session overrides + global preferences).
1965
2041
  */
@@ -2212,9 +2288,7 @@ Either:
2212
2288
  */
2213
2289
  async getSystemPrompt() {
2214
2290
  this.ensureStarted();
2215
- const context2 = {
2216
- mcpManager: this.mcpManager
2217
- };
2291
+ const context2 = await this.toolManager.buildContributorContext();
2218
2292
  return await this.systemPromptManager.build(context2);
2219
2293
  }
2220
2294
  /**
@@ -5,7 +5,7 @@ import type { CompactionStrategy } from '../context/compaction/types.js';
5
5
  import type { Logger } from '../logger/v2/types.js';
6
6
  import type { Hook } from '../hooks/types.js';
7
7
  import type { Tool } from '../tools/types.js';
8
- import type { InitializeServicesOptions } from '../utils/service-initializer.js';
8
+ import type { InitializeServicesOptions, ToolkitLoader } from '../utils/service-initializer.js';
9
9
  import type { DextoAgentConfigInput } from './runtime-config.js';
10
10
  /**
11
11
  * Constructor options for {@link DextoAgent}.
@@ -39,6 +39,11 @@ export interface DextoAgentOptions {
39
39
  };
40
40
  /** Concrete tool implementations (DI-first). */
41
41
  tools?: Tool[] | undefined;
42
+ /**
43
+ * Toolkits loader resolved from image factories.
44
+ * Used to dynamically load toolkits requested by prompts/skills.
45
+ */
46
+ toolkitLoader?: ToolkitLoader | undefined;
42
47
  /** Concrete hooks installed for the agent (DI-first). */
43
48
  hooks?: Hook[] | undefined;
44
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-options.d.ts","sourceRoot":"","sources":["../../src/agent/agent-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAW9B;;;OAGG;IACH,SAAS,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAElD;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf,4CAA4C;IAC5C,OAAO,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAE/D,gDAAgD;IAChD,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAE3B,yDAAyD;IACzD,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAE3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;CAAG"}
1
+ {"version":3,"file":"agent-options.d.ts","sourceRoot":"","sources":["../../src/agent/agent-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAW9B;;;OAGG;IACH,SAAS,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAElD;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf,4CAA4C;IAC5C,OAAO,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAE/D,gDAAgD;IAChD,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAE3B;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAE1C,yDAAyD;IACzD,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAE3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;CAAG"}
@@ -776,6 +776,11 @@ export declare const AgentCardSchema: z.ZodObject<{
776
776
  name: string;
777
777
  url: string;
778
778
  version: string;
779
+ capabilities: {
780
+ streaming: boolean;
781
+ stateTransitionHistory: boolean;
782
+ pushNotifications?: boolean | undefined;
783
+ };
779
784
  protocolVersion: string;
780
785
  preferredTransport: "JSONRPC" | "GRPC" | "HTTP+JSON";
781
786
  defaultInputModes: string[];
@@ -789,15 +794,6 @@ export declare const AgentCardSchema: z.ZodObject<{
789
794
  outputModes: string[];
790
795
  examples?: string[] | undefined;
791
796
  }[];
792
- capabilities: {
793
- streaming: boolean;
794
- stateTransitionHistory: boolean;
795
- pushNotifications?: boolean | undefined;
796
- };
797
- provider?: {
798
- url: string;
799
- organization: string;
800
- } | undefined;
801
797
  metadata?: z.objectOutputType<{
802
798
  dexto: z.ZodOptional<z.ZodObject<{
803
799
  authentication: z.ZodOptional<z.ZodObject<{
@@ -873,6 +869,10 @@ export declare const AgentCardSchema: z.ZodObject<{
873
869
  } | undefined;
874
870
  }>>;
875
871
  }, z.ZodTypeAny, "passthrough"> | undefined;
872
+ provider?: {
873
+ url: string;
874
+ organization: string;
875
+ } | undefined;
876
876
  iconUrl?: string | undefined;
877
877
  documentationUrl?: string | undefined;
878
878
  additionalInterfaces?: {
@@ -937,10 +937,6 @@ export declare const AgentCardSchema: z.ZodObject<{
937
937
  name: string;
938
938
  url: string;
939
939
  version: string;
940
- provider?: {
941
- url: string;
942
- organization: string;
943
- } | undefined;
944
940
  metadata?: z.objectInputType<{
945
941
  dexto: z.ZodOptional<z.ZodObject<{
946
942
  authentication: z.ZodOptional<z.ZodObject<{
@@ -1016,6 +1012,15 @@ export declare const AgentCardSchema: z.ZodObject<{
1016
1012
  } | undefined;
1017
1013
  }>>;
1018
1014
  }, z.ZodTypeAny, "passthrough"> | undefined;
1015
+ capabilities?: {
1016
+ streaming?: boolean | undefined;
1017
+ pushNotifications?: boolean | undefined;
1018
+ stateTransitionHistory?: boolean | undefined;
1019
+ } | undefined;
1020
+ provider?: {
1021
+ url: string;
1022
+ organization: string;
1023
+ } | undefined;
1019
1024
  protocolVersion?: string | undefined;
1020
1025
  preferredTransport?: "JSONRPC" | "GRPC" | "HTTP+JSON" | undefined;
1021
1026
  defaultInputModes?: string[] | undefined;
@@ -1035,11 +1040,6 @@ export declare const AgentCardSchema: z.ZodObject<{
1035
1040
  url: string;
1036
1041
  transport: "JSONRPC" | "GRPC" | "HTTP+JSON";
1037
1042
  }[] | undefined;
1038
- capabilities?: {
1039
- streaming?: boolean | undefined;
1040
- pushNotifications?: boolean | undefined;
1041
- stateTransitionHistory?: boolean | undefined;
1042
- } | undefined;
1043
1043
  securitySchemes?: Record<string, {
1044
1044
  type: "apiKey";
1045
1045
  name: string;
@@ -32,11 +32,36 @@ __export(manager_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(manager_exports);
34
34
  var import_node_path = __toESM(require("node:path"), 1);
35
+ var import_node_fs = require("node:fs");
35
36
  var import_types = require("./types.js");
36
37
  var import_factory = require("./factory.js");
37
38
  var import_types2 = require("../logger/v2/types.js");
38
39
  var import_errors = require("./errors.js");
39
40
  var import_pattern_utils = require("../tools/pattern-utils.js");
41
+ function tryRealpathSync(targetPath) {
42
+ try {
43
+ return (0, import_node_fs.realpathSync)(targetPath);
44
+ } catch {
45
+ return null;
46
+ }
47
+ }
48
+ function tryRealpathSyncWithExistingParent(resolvedPath) {
49
+ const direct = tryRealpathSync(resolvedPath);
50
+ if (direct) return direct;
51
+ let currentDir = import_node_path.default.dirname(resolvedPath);
52
+ while (true) {
53
+ const realDir = tryRealpathSync(currentDir);
54
+ if (realDir) {
55
+ const suffix = import_node_path.default.relative(currentDir, resolvedPath);
56
+ return import_node_path.default.join(realDir, suffix);
57
+ }
58
+ const parent = import_node_path.default.dirname(currentDir);
59
+ if (parent === currentDir) {
60
+ return null;
61
+ }
62
+ currentDir = parent;
63
+ }
64
+ }
40
65
  class ApprovalManager {
41
66
  handler;
42
67
  config;
@@ -82,7 +107,7 @@ class ApprovalManager {
82
107
  * Check if a pattern key is covered by any approved pattern for a tool.
83
108
  *
84
109
  * Note: This expects a pattern key (e.g. "git push *"), not raw arguments.
85
- * Tools are responsible for generating the key via Tool.getApprovalPatternKey().
110
+ * Tools are responsible for generating the key via `tool.approval.patternKey()`.
86
111
  */
87
112
  matchesPattern(toolName, patternKey) {
88
113
  const patterns = this.toolPatterns.get(toolName);
@@ -133,6 +158,29 @@ class ApprovalManager {
133
158
  return this.toolPatterns;
134
159
  }
135
160
  // ==================== Directory Access Methods ====================
161
+ /**
162
+ * Resolve a directory path for use as an approval key.
163
+ *
164
+ * We store BOTH the resolved path and (when available) its realpath, so approvals
165
+ * continue to work even when other subsystems canonicalize paths via realpath
166
+ * (e.g. macOS /tmp -> /private/tmp or custom symlinked directories).
167
+ */
168
+ getDirectoryApprovalKeys(directory) {
169
+ const resolved = import_node_path.default.resolve(directory);
170
+ const real = tryRealpathSyncWithExistingParent(resolved);
171
+ if (real && real !== resolved) {
172
+ return [resolved, real];
173
+ }
174
+ return [resolved];
175
+ }
176
+ getFileApprovalKeys(filePath) {
177
+ const resolved = import_node_path.default.resolve(filePath);
178
+ const real = tryRealpathSyncWithExistingParent(resolved);
179
+ if (real && real !== resolved) {
180
+ return [resolved, real];
181
+ }
182
+ return [resolved];
183
+ }
136
184
  /**
137
185
  * Initialize the working directory as a session-approved directory.
138
186
  * This should be called once during setup to ensure the working directory
@@ -141,9 +189,7 @@ class ApprovalManager {
141
189
  * @param workingDir The working directory path
142
190
  */
143
191
  initializeWorkingDirectory(workingDir) {
144
- const normalized = import_node_path.default.resolve(workingDir);
145
- this.approvedDirectories.set(normalized, "session");
146
- this.logger.debug(`Initialized working directory as session-approved: "${normalized}"`);
192
+ this.addApprovedDirectory(workingDir, "session");
147
193
  }
148
194
  /**
149
195
  * Add a directory to the approved list for this session.
@@ -163,16 +209,28 @@ class ApprovalManager {
163
209
  * ```
164
210
  */
165
211
  addApprovedDirectory(directory, type = "session") {
166
- const normalized = import_node_path.default.resolve(directory);
167
- const existing = this.approvedDirectories.get(normalized);
168
- if (existing === "session") {
212
+ const keys = this.getDirectoryApprovalKeys(directory);
213
+ const existingTypes = keys.map((key) => this.approvedDirectories.get(key)).filter((value) => value !== void 0);
214
+ const hasSessionApproval = existingTypes.includes("session");
215
+ const effectiveType = type === "session" || hasSessionApproval ? "session" : "once";
216
+ for (const key of keys) {
217
+ const existing = this.approvedDirectories.get(key);
218
+ if (existing === "session") {
219
+ continue;
220
+ }
221
+ this.approvedDirectories.set(key, effectiveType);
222
+ }
223
+ const resolvedKey = keys[0];
224
+ if (effectiveType === "session" && type === "once" && hasSessionApproval) {
169
225
  this.logger.debug(
170
- `Directory "${normalized}" already approved as 'session', not downgrading to '${type}'`
226
+ `Directory "${resolvedKey}" already approved as 'session', not downgrading to 'once'`
171
227
  );
172
228
  return;
173
229
  }
174
- this.approvedDirectories.set(normalized, type);
175
- this.logger.debug(`Added approved directory: "${normalized}" (type: ${type})`);
230
+ const realKey = keys.length > 1 ? keys[1] : null;
231
+ this.logger.debug(
232
+ `Added approved directory: "${resolvedKey}" (type: ${effectiveType})${realKey ? `, realpath: "${realKey}"` : ""}`
233
+ );
176
234
  }
177
235
  /**
178
236
  * Check if a file path is within any session-approved directory.
@@ -183,15 +241,16 @@ class ApprovalManager {
183
241
  * @returns true if the path is within a session-approved directory
184
242
  */
185
243
  isDirectorySessionApproved(filePath) {
186
- const normalized = import_node_path.default.resolve(filePath);
187
- for (const [approvedDir, type] of this.approvedDirectories) {
188
- if (type !== "session") continue;
189
- const relative = import_node_path.default.relative(approvedDir, normalized);
190
- if (!relative.startsWith("..") && !import_node_path.default.isAbsolute(relative)) {
191
- this.logger.debug(
192
- `Path "${normalized}" is within session-approved directory "${approvedDir}"`
193
- );
194
- return true;
244
+ for (const normalized of this.getFileApprovalKeys(filePath)) {
245
+ for (const [approvedDir, type] of this.approvedDirectories) {
246
+ if (type !== "session") continue;
247
+ const relative = import_node_path.default.relative(approvedDir, normalized);
248
+ if (!relative.startsWith("..") && !import_node_path.default.isAbsolute(relative)) {
249
+ this.logger.debug(
250
+ `Path "${normalized}" is within session-approved directory "${approvedDir}"`
251
+ );
252
+ return true;
253
+ }
195
254
  }
196
255
  }
197
256
  return false;
@@ -205,14 +264,15 @@ class ApprovalManager {
205
264
  * @returns true if the path is within any approved directory
206
265
  */
207
266
  isDirectoryApproved(filePath) {
208
- const normalized = import_node_path.default.resolve(filePath);
209
- for (const [approvedDir] of this.approvedDirectories) {
210
- const relative = import_node_path.default.relative(approvedDir, normalized);
211
- if (!relative.startsWith("..") && !import_node_path.default.isAbsolute(relative)) {
212
- this.logger.debug(
213
- `Path "${normalized}" is within approved directory "${approvedDir}"`
214
- );
215
- return true;
267
+ for (const normalized of this.getFileApprovalKeys(filePath)) {
268
+ for (const [approvedDir] of this.approvedDirectories) {
269
+ const relative = import_node_path.default.relative(approvedDir, normalized);
270
+ if (!relative.startsWith("..") && !import_node_path.default.isAbsolute(relative)) {
271
+ this.logger.debug(
272
+ `Path "${normalized}" is within approved directory "${approvedDir}"`
273
+ );
274
+ return true;
275
+ }
216
276
  }
217
277
  }
218
278
  return false;