@dexto/core 1.5.5 → 1.5.7

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 (146) hide show
  1. package/dist/agent/DextoAgent.cjs +94 -26
  2. package/dist/agent/DextoAgent.d.ts +17 -7
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +95 -27
  5. package/dist/agent/schemas.d.ts +417 -66
  6. package/dist/agent/schemas.d.ts.map +1 -1
  7. package/dist/context/utils.cjs +49 -3
  8. package/dist/context/utils.d.ts.map +1 -1
  9. package/dist/context/utils.js +49 -3
  10. package/dist/errors/types.cjs +2 -1
  11. package/dist/errors/types.d.ts +2 -1
  12. package/dist/errors/types.d.ts.map +1 -1
  13. package/dist/errors/types.js +2 -1
  14. package/dist/image/types.d.ts +15 -0
  15. package/dist/image/types.d.ts.map +1 -1
  16. package/dist/llm/error-codes.cjs +1 -0
  17. package/dist/llm/error-codes.d.ts +1 -0
  18. package/dist/llm/error-codes.d.ts.map +1 -1
  19. package/dist/llm/error-codes.js +1 -0
  20. package/dist/llm/errors.cjs +15 -0
  21. package/dist/llm/errors.d.ts +15 -8
  22. package/dist/llm/errors.d.ts.map +1 -1
  23. package/dist/llm/errors.js +15 -0
  24. package/dist/llm/executor/turn-executor.cjs +27 -0
  25. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  26. package/dist/llm/executor/turn-executor.js +27 -0
  27. package/dist/llm/registry.cjs +472 -28
  28. package/dist/llm/registry.d.ts +80 -4
  29. package/dist/llm/registry.d.ts.map +1 -1
  30. package/dist/llm/registry.js +464 -25
  31. package/dist/llm/resolver.cjs +13 -0
  32. package/dist/llm/resolver.d.ts.map +1 -1
  33. package/dist/llm/resolver.js +16 -1
  34. package/dist/llm/schemas.d.ts +59 -59
  35. package/dist/llm/services/factory.cjs +41 -25
  36. package/dist/llm/services/factory.d.ts +20 -1
  37. package/dist/llm/services/factory.d.ts.map +1 -1
  38. package/dist/llm/services/factory.js +42 -26
  39. package/dist/llm/services/test-utils.integration.cjs +5 -1
  40. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  41. package/dist/llm/services/test-utils.integration.js +5 -1
  42. package/dist/llm/types.cjs +5 -2
  43. package/dist/llm/types.d.ts +1 -1
  44. package/dist/llm/types.d.ts.map +1 -1
  45. package/dist/llm/types.js +5 -2
  46. package/dist/logger/logger.cjs +6 -7
  47. package/dist/logger/logger.d.ts +1 -0
  48. package/dist/logger/logger.d.ts.map +1 -1
  49. package/dist/logger/logger.js +6 -7
  50. package/dist/logger/v2/dexto-logger.cjs +4 -0
  51. package/dist/logger/v2/dexto-logger.d.ts +3 -0
  52. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  53. package/dist/logger/v2/dexto-logger.js +4 -0
  54. package/dist/logger/v2/types.d.ts +2 -0
  55. package/dist/logger/v2/types.d.ts.map +1 -1
  56. package/dist/mcp/error-codes.cjs +1 -0
  57. package/dist/mcp/error-codes.d.ts +1 -0
  58. package/dist/mcp/error-codes.d.ts.map +1 -1
  59. package/dist/mcp/error-codes.js +1 -0
  60. package/dist/mcp/errors.cjs +13 -0
  61. package/dist/mcp/errors.d.ts +7 -0
  62. package/dist/mcp/errors.d.ts.map +1 -1
  63. package/dist/mcp/errors.js +13 -0
  64. package/dist/mcp/manager.cjs +46 -4
  65. package/dist/mcp/manager.d.ts +10 -2
  66. package/dist/mcp/manager.d.ts.map +1 -1
  67. package/dist/mcp/manager.js +46 -4
  68. package/dist/mcp/mcp-client.cjs +89 -5
  69. package/dist/mcp/mcp-client.d.ts +5 -1
  70. package/dist/mcp/mcp-client.d.ts.map +1 -1
  71. package/dist/mcp/mcp-client.js +89 -5
  72. package/dist/mcp/schemas.cjs +6 -1
  73. package/dist/mcp/schemas.d.ts +1 -1
  74. package/dist/mcp/schemas.d.ts.map +1 -1
  75. package/dist/mcp/schemas.js +6 -1
  76. package/dist/mcp/types.d.ts +5 -0
  77. package/dist/mcp/types.d.ts.map +1 -1
  78. package/dist/prompts/index.d.ts +1 -1
  79. package/dist/prompts/index.d.ts.map +1 -1
  80. package/dist/prompts/prompt-manager.cjs +90 -4
  81. package/dist/prompts/prompt-manager.d.ts +16 -6
  82. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  83. package/dist/prompts/prompt-manager.js +90 -4
  84. package/dist/prompts/providers/config-prompt-provider.cjs +104 -10
  85. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  86. package/dist/prompts/providers/config-prompt-provider.js +105 -11
  87. package/dist/prompts/providers/custom-prompt-provider.cjs +1 -0
  88. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  89. package/dist/prompts/providers/custom-prompt-provider.js +1 -0
  90. package/dist/prompts/providers/mcp-prompt-provider.cjs +1 -0
  91. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  92. package/dist/prompts/providers/mcp-prompt-provider.js +1 -0
  93. package/dist/prompts/schemas.cjs +28 -2
  94. package/dist/prompts/schemas.d.ts +130 -0
  95. package/dist/prompts/schemas.d.ts.map +1 -1
  96. package/dist/prompts/schemas.js +28 -2
  97. package/dist/prompts/types.d.ts +55 -3
  98. package/dist/prompts/types.d.ts.map +1 -1
  99. package/dist/session/chat-session.d.ts +1 -1
  100. package/dist/session/chat-session.d.ts.map +1 -1
  101. package/dist/session/index.d.ts +1 -1
  102. package/dist/session/index.d.ts.map +1 -1
  103. package/dist/session/session-manager.cjs +47 -3
  104. package/dist/session/session-manager.d.ts +10 -0
  105. package/dist/session/session-manager.d.ts.map +1 -1
  106. package/dist/session/session-manager.js +47 -3
  107. package/dist/systemPrompt/contributors.cjs +42 -0
  108. package/dist/systemPrompt/contributors.d.ts +13 -0
  109. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  110. package/dist/systemPrompt/contributors.js +41 -0
  111. package/dist/tools/errors.cjs +7 -3
  112. package/dist/tools/errors.d.ts +5 -1
  113. package/dist/tools/errors.d.ts.map +1 -1
  114. package/dist/tools/errors.js +7 -3
  115. package/dist/tools/internal-tools/constants.cjs +2 -1
  116. package/dist/tools/internal-tools/constants.d.ts +1 -1
  117. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  118. package/dist/tools/internal-tools/constants.js +2 -1
  119. package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +140 -0
  120. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +24 -0
  121. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +1 -0
  122. package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +117 -0
  123. package/dist/tools/internal-tools/provider.cjs +15 -0
  124. package/dist/tools/internal-tools/provider.d.ts +12 -0
  125. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  126. package/dist/tools/internal-tools/provider.js +15 -0
  127. package/dist/tools/internal-tools/registry.cjs +6 -0
  128. package/dist/tools/internal-tools/registry.d.ts +34 -0
  129. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  130. package/dist/tools/internal-tools/registry.js +6 -0
  131. package/dist/tools/schemas.cjs +2 -2
  132. package/dist/tools/schemas.d.ts +1 -1
  133. package/dist/tools/schemas.d.ts.map +1 -1
  134. package/dist/tools/schemas.js +2 -2
  135. package/dist/tools/tool-manager.cjs +230 -79
  136. package/dist/tools/tool-manager.d.ts +89 -8
  137. package/dist/tools/tool-manager.d.ts.map +1 -1
  138. package/dist/tools/tool-manager.js +231 -80
  139. package/dist/utils/api-key-resolver.cjs +5 -2
  140. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  141. package/dist/utils/api-key-resolver.js +5 -2
  142. package/dist/utils/service-initializer.cjs +8 -2
  143. package/dist/utils/service-initializer.d.ts +5 -1
  144. package/dist/utils/service-initializer.d.ts.map +1 -1
  145. package/dist/utils/service-initializer.js +8 -2
  146. package/package.json +1 -1
@@ -4,7 +4,8 @@ const INTERNAL_TOOL_NAMES = [
4
4
  "ask_user",
5
5
  "delegate_to_url",
6
6
  "list_resources",
7
- "get_resource"
7
+ "get_resource",
8
+ "invoke_skill"
8
9
  ];
9
10
  export {
10
11
  INTERNAL_TOOL_NAMES
@@ -0,0 +1,140 @@
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 invoke_skill_tool_exports = {};
20
+ __export(invoke_skill_tool_exports, {
21
+ createInvokeSkillTool: () => createInvokeSkillTool
22
+ });
23
+ module.exports = __toCommonJS(invoke_skill_tool_exports);
24
+ var import_zod = require("zod");
25
+ var import_utils = require("../../../prompts/utils.js");
26
+ const InvokeSkillInputSchema = import_zod.z.object({
27
+ skill: import_zod.z.string().min(1, "Skill name is required").describe(
28
+ 'The name of the skill to invoke (e.g., "plugin-name:skill-name" or "skill-name")'
29
+ ),
30
+ args: import_zod.z.record(import_zod.z.string()).optional().describe("Optional arguments to pass to the skill"),
31
+ taskContext: import_zod.z.string().optional().describe(
32
+ "Context about what task this skill should accomplish. Recommended for forked skills to provide context since they run in isolation without conversation history."
33
+ )
34
+ }).strict();
35
+ function createInvokeSkillTool(services) {
36
+ return {
37
+ id: "invoke_skill",
38
+ description: buildToolDescription(),
39
+ inputSchema: InvokeSkillInputSchema,
40
+ execute: async (input, context) => {
41
+ const { skill, args, taskContext } = input;
42
+ const promptManager = services.promptManager;
43
+ if (!promptManager) {
44
+ return {
45
+ error: "PromptManager not available. This is a configuration error."
46
+ };
47
+ }
48
+ const autoInvocable = await promptManager.listAutoInvocablePrompts();
49
+ let skillKey;
50
+ for (const key of Object.keys(autoInvocable)) {
51
+ const info = autoInvocable[key];
52
+ if (!info) continue;
53
+ if (key === skill || info.displayName === skill || info.commandName === skill || info.name === skill) {
54
+ skillKey = key;
55
+ break;
56
+ }
57
+ }
58
+ if (!skillKey) {
59
+ return {
60
+ error: `Skill '${skill}' not found or not available for model invocation. Use a skill from the available list.`,
61
+ availableSkills: Object.keys(autoInvocable)
62
+ };
63
+ }
64
+ const promptDef = await promptManager.getPromptDefinition(skillKey);
65
+ const promptResult = await promptManager.getPrompt(skillKey, args);
66
+ const flattened = (0, import_utils.flattenPromptResult)(promptResult);
67
+ const content = flattened.text;
68
+ if (promptDef?.context === "fork") {
69
+ const taskForker = services.taskForker;
70
+ if (!taskForker) {
71
+ return {
72
+ error: `Skill '${skill}' requires fork execution (context: fork), but agent spawning is not available. Configure agent-spawner custom tool to enable forked skills.`,
73
+ skill: skillKey
74
+ };
75
+ }
76
+ let instructions;
77
+ if (taskContext) {
78
+ instructions = `## Task Context
79
+ ${taskContext}
80
+
81
+ ## Skill Instructions
82
+ ${content}`;
83
+ } else {
84
+ instructions = content;
85
+ }
86
+ const forkOptions = {
87
+ task: `Skill: ${skill}`,
88
+ instructions,
89
+ // Fork skills auto-approve by default since they run in isolation
90
+ autoApprove: true
91
+ };
92
+ if (promptDef.agent) {
93
+ forkOptions.agentId = promptDef.agent;
94
+ }
95
+ if (context?.toolCallId) {
96
+ forkOptions.toolCallId = context.toolCallId;
97
+ }
98
+ if (context?.sessionId) {
99
+ forkOptions.sessionId = context.sessionId;
100
+ }
101
+ const result = await taskForker.fork(forkOptions);
102
+ if (result.success) {
103
+ return result.response ?? "Task completed successfully.";
104
+ } else {
105
+ return `Error: ${result.error ?? "Unknown error during forked execution"}`;
106
+ }
107
+ }
108
+ return {
109
+ skill: skillKey,
110
+ content,
111
+ instructions: "Follow the instructions in the skill content above to complete the task."
112
+ };
113
+ }
114
+ };
115
+ }
116
+ function buildToolDescription() {
117
+ return `Invoke a skill to load and execute specialized instructions for a task. Skills are predefined prompts that guide how to handle specific scenarios.
118
+
119
+ When to use:
120
+ - When you recognize a task that matches an available skill
121
+ - When you need specialized guidance for a complex operation
122
+ - When the user references a skill by name
123
+
124
+ Parameters:
125
+ - skill: The name of the skill to invoke
126
+ - args: Optional arguments to pass to the skill (e.g., for $ARGUMENTS substitution)
127
+ - taskContext: Context about what you're trying to accomplish (important for forked skills that run in isolation)
128
+
129
+ Execution modes:
130
+ - **Inline skills**: Return instructions for you to follow in the current conversation
131
+ - **Fork skills**: Automatically execute in an isolated subagent and return the result (no additional tool calls needed)
132
+
133
+ Fork skills run in complete isolation without access to conversation history. They're useful for tasks that should run independently.
134
+
135
+ Available skills are listed in your system prompt. Use the skill name exactly as shown.`;
136
+ }
137
+ // Annotate the CommonJS export names for ESM import in node:
138
+ 0 && (module.exports = {
139
+ createInvokeSkillTool
140
+ });
@@ -0,0 +1,24 @@
1
+ import type { InternalTool } from '../../types.js';
2
+ import type { InternalToolsServices } from '../registry.js';
3
+ /**
4
+ * Internal tool for invoking skills/prompts during agent execution.
5
+ *
6
+ * This tool allows the LLM to load and execute skills that are registered
7
+ * with the PromptManager. Skills are prompts that can be auto-invoked by
8
+ * the model (not disabled via `disableModelInvocation`).
9
+ *
10
+ * Execution modes:
11
+ * - **inline** (default): Skill content is returned for the LLM to follow in the current session
12
+ * - **fork**: Skill is executed in an isolated subagent with no conversation history access
13
+ *
14
+ * Usage:
15
+ * - The LLM sees available skills in its system prompt
16
+ * - When a skill is relevant, the LLM calls this tool with the skill name
17
+ * - For inline skills: content is returned for the LLM to follow
18
+ * - For forked skills: execution happens in isolation and result is returned
19
+ *
20
+ * Note: Takes services object (not individual deps) to support late-binding of taskForker.
21
+ * The taskForker may be set after tool creation when agent-spawner custom tool is registered.
22
+ */
23
+ export declare function createInvokeSkillTool(services: InternalToolsServices): InternalTool;
24
+ //# sourceMappingURL=invoke-skill-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoke-skill-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/internal-tools/implementations/invoke-skill-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAuB5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,YAAY,CAqHnF"}
@@ -0,0 +1,117 @@
1
+ import "../../../chunk-PTJYTZNU.js";
2
+ import { z } from "zod";
3
+ import { flattenPromptResult } from "../../../prompts/utils.js";
4
+ const InvokeSkillInputSchema = z.object({
5
+ skill: z.string().min(1, "Skill name is required").describe(
6
+ 'The name of the skill to invoke (e.g., "plugin-name:skill-name" or "skill-name")'
7
+ ),
8
+ args: z.record(z.string()).optional().describe("Optional arguments to pass to the skill"),
9
+ taskContext: z.string().optional().describe(
10
+ "Context about what task this skill should accomplish. Recommended for forked skills to provide context since they run in isolation without conversation history."
11
+ )
12
+ }).strict();
13
+ function createInvokeSkillTool(services) {
14
+ return {
15
+ id: "invoke_skill",
16
+ description: buildToolDescription(),
17
+ inputSchema: InvokeSkillInputSchema,
18
+ execute: async (input, context) => {
19
+ const { skill, args, taskContext } = input;
20
+ const promptManager = services.promptManager;
21
+ if (!promptManager) {
22
+ return {
23
+ error: "PromptManager not available. This is a configuration error."
24
+ };
25
+ }
26
+ const autoInvocable = await promptManager.listAutoInvocablePrompts();
27
+ let skillKey;
28
+ for (const key of Object.keys(autoInvocable)) {
29
+ const info = autoInvocable[key];
30
+ if (!info) continue;
31
+ if (key === skill || info.displayName === skill || info.commandName === skill || info.name === skill) {
32
+ skillKey = key;
33
+ break;
34
+ }
35
+ }
36
+ if (!skillKey) {
37
+ return {
38
+ error: `Skill '${skill}' not found or not available for model invocation. Use a skill from the available list.`,
39
+ availableSkills: Object.keys(autoInvocable)
40
+ };
41
+ }
42
+ const promptDef = await promptManager.getPromptDefinition(skillKey);
43
+ const promptResult = await promptManager.getPrompt(skillKey, args);
44
+ const flattened = flattenPromptResult(promptResult);
45
+ const content = flattened.text;
46
+ if (promptDef?.context === "fork") {
47
+ const taskForker = services.taskForker;
48
+ if (!taskForker) {
49
+ return {
50
+ error: `Skill '${skill}' requires fork execution (context: fork), but agent spawning is not available. Configure agent-spawner custom tool to enable forked skills.`,
51
+ skill: skillKey
52
+ };
53
+ }
54
+ let instructions;
55
+ if (taskContext) {
56
+ instructions = `## Task Context
57
+ ${taskContext}
58
+
59
+ ## Skill Instructions
60
+ ${content}`;
61
+ } else {
62
+ instructions = content;
63
+ }
64
+ const forkOptions = {
65
+ task: `Skill: ${skill}`,
66
+ instructions,
67
+ // Fork skills auto-approve by default since they run in isolation
68
+ autoApprove: true
69
+ };
70
+ if (promptDef.agent) {
71
+ forkOptions.agentId = promptDef.agent;
72
+ }
73
+ if (context?.toolCallId) {
74
+ forkOptions.toolCallId = context.toolCallId;
75
+ }
76
+ if (context?.sessionId) {
77
+ forkOptions.sessionId = context.sessionId;
78
+ }
79
+ const result = await taskForker.fork(forkOptions);
80
+ if (result.success) {
81
+ return result.response ?? "Task completed successfully.";
82
+ } else {
83
+ return `Error: ${result.error ?? "Unknown error during forked execution"}`;
84
+ }
85
+ }
86
+ return {
87
+ skill: skillKey,
88
+ content,
89
+ instructions: "Follow the instructions in the skill content above to complete the task."
90
+ };
91
+ }
92
+ };
93
+ }
94
+ function buildToolDescription() {
95
+ return `Invoke a skill to load and execute specialized instructions for a task. Skills are predefined prompts that guide how to handle specific scenarios.
96
+
97
+ When to use:
98
+ - When you recognize a task that matches an available skill
99
+ - When you need specialized guidance for a complex operation
100
+ - When the user references a skill by name
101
+
102
+ Parameters:
103
+ - skill: The name of the skill to invoke
104
+ - args: Optional arguments to pass to the skill (e.g., for $ARGUMENTS substitution)
105
+ - taskContext: Context about what you're trying to accomplish (important for forked skills that run in isolation)
106
+
107
+ Execution modes:
108
+ - **Inline skills**: Return instructions for you to follow in the current conversation
109
+ - **Fork skills**: Automatically execute in an isolated subagent and return the result (no additional tool calls needed)
110
+
111
+ Fork skills run in complete isolation without access to conversation history. They're useful for tasks that should run independently.
112
+
113
+ Available skills are listed in your system prompt. Use the skill name exactly as shown.`;
114
+ }
115
+ export {
116
+ createInvokeSkillTool
117
+ };
@@ -55,6 +55,21 @@ class InternalToolsProvider {
55
55
  setAgent(agent) {
56
56
  this.agent = agent;
57
57
  }
58
+ /**
59
+ * Set prompt manager after construction (avoids circular dependency)
60
+ * Must be called before initialize() if invoke_skill tool is enabled
61
+ */
62
+ setPromptManager(promptManager) {
63
+ this.services.promptManager = promptManager;
64
+ }
65
+ /**
66
+ * Set task forker for context:fork skill execution (late-binding)
67
+ * Called by agent-spawner custom tool provider after RuntimeService is created.
68
+ * This enables invoke_skill to fork execution to an isolated subagent.
69
+ */
70
+ setTaskForker(taskForker) {
71
+ this.services.taskForker = taskForker;
72
+ }
58
73
  /**
59
74
  * Initialize the internal tools provider by registering all available internal tools
60
75
  * and custom tools from the registry
@@ -2,6 +2,7 @@ import { ToolSet, InternalTool } from '../types.js';
2
2
  import type { IDextoLogger } from '../../logger/v2/types.js';
3
3
  import type { DextoAgent } from '../../agent/DextoAgent.js';
4
4
  import { InternalToolsServices } from './registry.js';
5
+ import type { PromptManager } from '../../prompts/prompt-manager.js';
5
6
  import type { InternalToolsConfig, CustomToolsConfig } from '../schemas.js';
6
7
  /**
7
8
  * Provider for built-in internal tools and custom tool providers
@@ -31,6 +32,17 @@ export declare class InternalToolsProvider {
31
32
  * Must be called before initialize() if custom tools need agent access
32
33
  */
33
34
  setAgent(agent: DextoAgent): void;
35
+ /**
36
+ * Set prompt manager after construction (avoids circular dependency)
37
+ * Must be called before initialize() if invoke_skill tool is enabled
38
+ */
39
+ setPromptManager(promptManager: PromptManager): void;
40
+ /**
41
+ * Set task forker for context:fork skill execution (late-binding)
42
+ * Called by agent-spawner custom tool provider after RuntimeService is created.
43
+ * This enables invoke_skill to fork execution to an isolated subagent.
44
+ */
45
+ setTaskForker(taskForker: import('./registry.js').TaskForker): void;
34
46
  /**
35
47
  * Initialize the internal tools provider by registering all available internal tools
36
48
  * and custom tools from the registry
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/tools/internal-tools/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAA0C,MAAM,eAAe,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAK5E;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAa;gBAGvB,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,mBAAmB,YAAK,EAChC,iBAAiB,EAAE,iBAAiB,YAAK,EACzC,MAAM,EAAE,YAAY;IAYxB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIjC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgD7B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAgE3B;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI1C;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAInD;;OAEG;IACG,WAAW,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;IA0CnB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAc3B;;OAEG;IACH,cAAc,IAAI,OAAO;IAczB;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAIhC;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,kBAAkB,IAAI,MAAM;CAG/B"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/tools/internal-tools/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAA0C,MAAM,eAAe,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAK5E;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAa;gBAGvB,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,mBAAmB,YAAK,EAChC,iBAAiB,EAAE,iBAAiB,YAAK,EACzC,MAAM,EAAE,YAAY;IAYxB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIjC;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAIpD;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,OAAO,eAAe,EAAE,UAAU,GAAG,IAAI;IAInE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgD7B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAgE3B;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI1C;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAInD;;OAEG;IACG,WAAW,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;IA0CnB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAc3B;;OAEG;IACH,cAAc,IAAI,OAAO;IAczB;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAIhC;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,kBAAkB,IAAI,MAAM;CAG/B"}
@@ -33,6 +33,21 @@ class InternalToolsProvider {
33
33
  setAgent(agent) {
34
34
  this.agent = agent;
35
35
  }
36
+ /**
37
+ * Set prompt manager after construction (avoids circular dependency)
38
+ * Must be called before initialize() if invoke_skill tool is enabled
39
+ */
40
+ setPromptManager(promptManager) {
41
+ this.services.promptManager = promptManager;
42
+ }
43
+ /**
44
+ * Set task forker for context:fork skill execution (late-binding)
45
+ * Called by agent-spawner custom tool provider after RuntimeService is created.
46
+ * This enables invoke_skill to fork execution to an isolated subagent.
47
+ */
48
+ setTaskForker(taskForker) {
49
+ this.services.taskForker = taskForker;
50
+ }
36
51
  /**
37
52
  * Initialize the internal tools provider by registering all available internal tools
38
53
  * and custom tools from the registry
@@ -27,6 +27,7 @@ var import_ask_user_tool = require("./implementations/ask-user-tool.js");
27
27
  var import_delegate_to_url_tool = require("./implementations/delegate-to-url-tool.js");
28
28
  var import_list_resources_tool = require("./implementations/list-resources-tool.js");
29
29
  var import_get_resource_tool = require("./implementations/get-resource-tool.js");
30
+ var import_invoke_skill_tool = require("./implementations/invoke-skill-tool.js");
30
31
  const INTERNAL_TOOL_REGISTRY = {
31
32
  search_history: {
32
33
  factory: (services) => (0, import_search_history_tool.createSearchHistoryTool)(services.searchService),
@@ -53,6 +54,11 @@ const INTERNAL_TOOL_REGISTRY = {
53
54
  factory: (services) => (0, import_get_resource_tool.createGetResourceTool)(services.resourceManager),
54
55
  requiredServices: ["resourceManager"],
55
56
  description: "Access a stored resource to get URLs or metadata"
57
+ },
58
+ invoke_skill: {
59
+ factory: (services) => (0, import_invoke_skill_tool.createInvokeSkillTool)(services),
60
+ requiredServices: ["promptManager"],
61
+ description: "Invoke a skill to load specialized instructions for a task"
56
62
  }
57
63
  };
58
64
  function getInternalToolInfo(toolName) {
@@ -2,6 +2,7 @@ import { InternalTool } from '../types.js';
2
2
  import { SearchService } from '../../search/index.js';
3
3
  import { ApprovalManager } from '../../approval/manager.js';
4
4
  import { ResourceManager } from '../../resources/manager.js';
5
+ import type { PromptManager } from '../../prompts/prompt-manager.js';
5
6
  import type { KnownInternalTool } from './constants.js';
6
7
  /**
7
8
  * Agent features that tools can depend on.
@@ -22,6 +23,36 @@ import type { KnownInternalTool } from './constants.js';
22
23
  * Tools can require multiple features - all must be enabled or startup fails with a clear error.
23
24
  */
24
25
  export type AgentFeature = 'elicitation';
26
+ /**
27
+ * Interface for forking skill execution to an isolated subagent.
28
+ * Implemented by RuntimeService in @dexto/agent-management.
29
+ */
30
+ export interface TaskForker {
31
+ /**
32
+ * Execute a task in an isolated subagent context.
33
+ * The subagent has no access to the parent's conversation history.
34
+ *
35
+ * @param options.task - Short description for UI/logs
36
+ * @param options.instructions - Full instructions for the subagent
37
+ * @param options.agentId - Optional agent ID from registry to use for execution
38
+ * @param options.autoApprove - Auto-approve tool calls (default: true for fork skills)
39
+ * @param options.toolCallId - Optional tool call ID for progress events
40
+ * @param options.sessionId - Optional session ID for progress events
41
+ * @returns Result with success status and response/error
42
+ */
43
+ fork(options: {
44
+ task: string;
45
+ instructions: string;
46
+ agentId?: string;
47
+ autoApprove?: boolean;
48
+ toolCallId?: string;
49
+ sessionId?: string;
50
+ }): Promise<{
51
+ success: boolean;
52
+ response?: string;
53
+ error?: string;
54
+ }>;
55
+ }
25
56
  /**
26
57
  * Services available to internal tools
27
58
  * Add new services here as needed for internal tools
@@ -30,6 +61,9 @@ export interface InternalToolsServices {
30
61
  searchService?: SearchService;
31
62
  approvalManager?: ApprovalManager;
32
63
  resourceManager?: ResourceManager;
64
+ promptManager?: PromptManager;
65
+ /** Optional forker for executing skills in isolated context (context: fork) */
66
+ taskForker?: TaskForker;
33
67
  }
34
68
  /**
35
69
  * Internal tool factory function type
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/internal-tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;CACrC;AAED;;GAEG;AACH,KAAK,mBAAmB,GAAG,CAAC,QAAQ,EAAE,qBAAqB,KAAK,YAAY,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,SAAS,CAAC,MAAM,qBAAqB,CAAC,EAAE,CAAC;IAC3D,gBAAgB,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CA8BvF,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,yBAAyB,CAE1F"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/internal-tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAOrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,OAAO,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACN;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;GAEG;AACH,KAAK,mBAAmB,GAAG,CAAC,QAAQ,EAAE,qBAAqB,KAAK,YAAY,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,SAAS,CAAC,MAAM,qBAAqB,CAAC,EAAE,CAAC;IAC3D,gBAAgB,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAmCvF,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,yBAAyB,CAE1F"}
@@ -4,6 +4,7 @@ import { createAskUserTool } from "./implementations/ask-user-tool.js";
4
4
  import { createDelegateToUrlTool } from "./implementations/delegate-to-url-tool.js";
5
5
  import { createListResourcesTool } from "./implementations/list-resources-tool.js";
6
6
  import { createGetResourceTool } from "./implementations/get-resource-tool.js";
7
+ import { createInvokeSkillTool } from "./implementations/invoke-skill-tool.js";
7
8
  const INTERNAL_TOOL_REGISTRY = {
8
9
  search_history: {
9
10
  factory: (services) => createSearchHistoryTool(services.searchService),
@@ -30,6 +31,11 @@ const INTERNAL_TOOL_REGISTRY = {
30
31
  factory: (services) => createGetResourceTool(services.resourceManager),
31
32
  requiredServices: ["resourceManager"],
32
33
  description: "Access a stored resource to get URLs or metadata"
34
+ },
35
+ invoke_skill: {
36
+ factory: (services) => createInvokeSkillTool(services),
37
+ requiredServices: ["promptManager"],
38
+ description: "Invoke a skill to load specialized instructions for a task"
33
39
  }
34
40
  };
35
41
  function getInternalToolInfo(toolName) {
@@ -68,7 +68,7 @@ const ToolConfirmationConfigSchema = import_zod.z.object({
68
68
  "Tool confirmation mode: manual (interactive), auto-approve (all tools), auto-deny (no tools)"
69
69
  ),
70
70
  timeout: import_zod.z.number().int().positive().optional().describe(
71
- "Timeout for tool confirmation requests in milliseconds (optional - no timeout if not specified)"
71
+ "Timeout for tool confirmation requests in milliseconds. If not set, waits indefinitely."
72
72
  ),
73
73
  allowedToolsStorage: import_zod.z.enum(ALLOWED_TOOLS_STORAGE_TYPES).default(DEFAULT_ALLOWED_TOOLS_STORAGE).describe(
74
74
  "Storage type for remembered tool approvals: memory (session-only) or storage (persistent)"
@@ -82,7 +82,7 @@ const ElicitationConfigSchema = import_zod.z.object({
82
82
  "Enable elicitation support (ask_user tool and MCP server elicitations). When disabled, elicitation requests will be rejected."
83
83
  ),
84
84
  timeout: import_zod.z.number().int().positive().optional().describe(
85
- "Timeout for elicitation requests in milliseconds (optional - no timeout if not specified)"
85
+ "Timeout for elicitation requests in milliseconds. If not set, waits indefinitely."
86
86
  )
87
87
  }).strict().describe(
88
88
  "Elicitation configuration for user input requests. Independent from tool confirmation mode, allowing auto-approve for tools while still supporting elicitation."
@@ -5,7 +5,7 @@ export declare const ALLOWED_TOOLS_STORAGE_TYPES: readonly ["memory", "storage"]
5
5
  export type AllowedToolsStorageType = (typeof ALLOWED_TOOLS_STORAGE_TYPES)[number];
6
6
  export declare const DEFAULT_TOOL_CONFIRMATION_MODE: ToolConfirmationMode;
7
7
  export declare const DEFAULT_ALLOWED_TOOLS_STORAGE: AllowedToolsStorageType;
8
- export declare const InternalToolsSchema: z.ZodDefault<z.ZodArray<z.ZodEnum<["search_history", "ask_user", "delegate_to_url", "list_resources", "get_resource"]>, "many">>;
8
+ export declare const InternalToolsSchema: z.ZodDefault<z.ZodArray<z.ZodEnum<["search_history", "ask_user", "delegate_to_url", "list_resources", "get_resource", "invoke_skill"]>, "many">>;
9
9
  export type InternalToolsConfig = z.output<typeof InternalToolsSchema>;
10
10
  /**
11
11
  * Custom tool configuration schema.
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB,kDAAmD,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B,gCAAiC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF,eAAO,MAAM,8BAA8B,EAAE,oBAAqC,CAAC;AACnF,eAAO,MAAM,6BAA6B,EAAE,uBAAmC,CAAC;AAIhF,eAAO,MAAM,mBAAmB,kIAK3B,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAkBvE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,8CAA4C,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,gCAAgC;;;;;;gCAKgD,CAAC;AAE9F;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,gFAKzB,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;0CAGqB,CAAC;AAG9D,eAAO,MAAM,kBAAkB;;;;;;;;;GAiB2B,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BoB,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAG5F,eAAO,MAAM,uBAAuB;;;;;;;;;EAoB/B,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGlF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAShB,CAAC;AAEd,eAAO,MAAM,iBAAiB;;;;;;;;;;;;GAEgB,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB,kDAAmD,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B,gCAAiC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF,eAAO,MAAM,8BAA8B,EAAE,oBAAqC,CAAC;AACnF,eAAO,MAAM,6BAA6B,EAAE,uBAAmC,CAAC;AAIhF,eAAO,MAAM,mBAAmB,kJAK3B,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAkBvE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,8CAA4C,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,gCAAgC;;;;;;gCAKgD,CAAC;AAE9F;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,gFAKzB,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;0CAGqB,CAAC;AAG9D,eAAO,MAAM,kBAAkB;;;;;;;;;GAiB2B,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BoB,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAG5F,eAAO,MAAM,uBAAuB;;;;;;;;;EAoB/B,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGlF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAShB,CAAC;AAEd,eAAO,MAAM,iBAAiB;;;;;;;;;;;;GAEgB,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -33,7 +33,7 @@ const ToolConfirmationConfigSchema = z.object({
33
33
  "Tool confirmation mode: manual (interactive), auto-approve (all tools), auto-deny (no tools)"
34
34
  ),
35
35
  timeout: z.number().int().positive().optional().describe(
36
- "Timeout for tool confirmation requests in milliseconds (optional - no timeout if not specified)"
36
+ "Timeout for tool confirmation requests in milliseconds. If not set, waits indefinitely."
37
37
  ),
38
38
  allowedToolsStorage: z.enum(ALLOWED_TOOLS_STORAGE_TYPES).default(DEFAULT_ALLOWED_TOOLS_STORAGE).describe(
39
39
  "Storage type for remembered tool approvals: memory (session-only) or storage (persistent)"
@@ -47,7 +47,7 @@ const ElicitationConfigSchema = z.object({
47
47
  "Enable elicitation support (ask_user tool and MCP server elicitations). When disabled, elicitation requests will be rejected."
48
48
  ),
49
49
  timeout: z.number().int().positive().optional().describe(
50
- "Timeout for elicitation requests in milliseconds (optional - no timeout if not specified)"
50
+ "Timeout for elicitation requests in milliseconds. If not set, waits indefinitely."
51
51
  )
52
52
  }).strict().describe(
53
53
  "Elicitation configuration for user input requests. Independent from tool confirmation mode, allowing auto-approve for tools while still supporting elicitation."