wave-agent-sdk 0.16.8 → 0.16.10

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 (96) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +3 -0
  3. package/dist/constants/tools.d.ts +0 -1
  4. package/dist/constants/tools.d.ts.map +1 -1
  5. package/dist/constants/tools.js +0 -1
  6. package/dist/managers/aiManager.d.ts +0 -8
  7. package/dist/managers/aiManager.d.ts.map +1 -1
  8. package/dist/managers/aiManager.js +0 -45
  9. package/dist/managers/mcpManager.d.ts +5 -0
  10. package/dist/managers/mcpManager.d.ts.map +1 -1
  11. package/dist/managers/mcpManager.js +107 -12
  12. package/dist/managers/toolManager.d.ts +0 -6
  13. package/dist/managers/toolManager.d.ts.map +1 -1
  14. package/dist/managers/toolManager.js +1 -28
  15. package/dist/prompts/index.d.ts.map +1 -1
  16. package/dist/prompts/index.js +1 -12
  17. package/dist/services/authService.d.ts +10 -0
  18. package/dist/services/authService.d.ts.map +1 -1
  19. package/dist/services/authService.js +45 -0
  20. package/dist/services/configurationService.d.ts +1 -0
  21. package/dist/services/configurationService.d.ts.map +1 -1
  22. package/dist/services/configurationService.js +48 -15
  23. package/dist/services/initializationService.d.ts.map +1 -1
  24. package/dist/services/initializationService.js +11 -0
  25. package/dist/services/pluginLoader.d.ts.map +1 -1
  26. package/dist/services/pluginLoader.js +2 -2
  27. package/dist/services/remoteSettingsService.d.ts +21 -0
  28. package/dist/services/remoteSettingsService.d.ts.map +1 -0
  29. package/dist/services/remoteSettingsService.js +279 -0
  30. package/dist/telemetry/instrumentation.d.ts +5 -2
  31. package/dist/telemetry/instrumentation.d.ts.map +1 -1
  32. package/dist/telemetry/instrumentation.js +8 -4
  33. package/dist/tools/buildTool.d.ts +0 -2
  34. package/dist/tools/buildTool.d.ts.map +1 -1
  35. package/dist/tools/buildTool.js +0 -2
  36. package/dist/tools/cronCreateTool.d.ts.map +1 -1
  37. package/dist/tools/cronCreateTool.js +0 -1
  38. package/dist/tools/cronDeleteTool.d.ts.map +1 -1
  39. package/dist/tools/cronDeleteTool.js +0 -1
  40. package/dist/tools/cronListTool.d.ts.map +1 -1
  41. package/dist/tools/cronListTool.js +0 -1
  42. package/dist/tools/enterWorktreeTool.d.ts.map +1 -1
  43. package/dist/tools/enterWorktreeTool.js +0 -1
  44. package/dist/tools/exitWorktreeTool.d.ts.map +1 -1
  45. package/dist/tools/exitWorktreeTool.js +0 -1
  46. package/dist/tools/taskManagementTools.d.ts.map +1 -1
  47. package/dist/tools/taskManagementTools.js +0 -4
  48. package/dist/tools/types.d.ts +0 -15
  49. package/dist/tools/types.d.ts.map +1 -1
  50. package/dist/tools/webFetchTool.d.ts.map +1 -1
  51. package/dist/tools/webFetchTool.js +0 -1
  52. package/dist/types/configuration.d.ts +20 -0
  53. package/dist/types/configuration.d.ts.map +1 -1
  54. package/dist/types/mcp.d.ts +3 -1
  55. package/dist/types/mcp.d.ts.map +1 -1
  56. package/dist/utils/containerSetup.d.ts.map +1 -1
  57. package/dist/utils/containerSetup.js +10 -0
  58. package/dist/utils/mcpUtils.d.ts.map +1 -1
  59. package/dist/utils/mcpUtils.js +0 -1
  60. package/dist/utils/openaiClient.d.ts.map +1 -1
  61. package/dist/utils/openaiClient.js +4 -2
  62. package/package.json +1 -1
  63. package/src/agent.ts +3 -0
  64. package/src/constants/tools.ts +0 -1
  65. package/src/managers/aiManager.ts +0 -48
  66. package/src/managers/mcpManager.ts +122 -16
  67. package/src/managers/toolManager.ts +1 -32
  68. package/src/prompts/index.ts +0 -13
  69. package/src/services/authService.ts +56 -0
  70. package/src/services/configurationService.ts +56 -19
  71. package/src/services/initializationService.ts +13 -0
  72. package/src/services/pluginLoader.ts +2 -2
  73. package/src/services/remoteSettingsService.ts +314 -0
  74. package/src/telemetry/instrumentation.ts +12 -4
  75. package/src/tools/buildTool.ts +0 -4
  76. package/src/tools/cronCreateTool.ts +0 -1
  77. package/src/tools/cronDeleteTool.ts +0 -1
  78. package/src/tools/cronListTool.ts +0 -1
  79. package/src/tools/enterWorktreeTool.ts +0 -1
  80. package/src/tools/exitWorktreeTool.ts +0 -1
  81. package/src/tools/taskManagementTools.ts +0 -4
  82. package/src/tools/types.ts +0 -15
  83. package/src/tools/webFetchTool.ts +0 -1
  84. package/src/types/configuration.ts +23 -0
  85. package/src/types/mcp.ts +8 -1
  86. package/src/utils/containerSetup.ts +10 -0
  87. package/src/utils/mcpUtils.ts +0 -1
  88. package/src/utils/openaiClient.ts +5 -2
  89. package/dist/tools/toolSearchTool.d.ts +0 -15
  90. package/dist/tools/toolSearchTool.d.ts.map +0 -1
  91. package/dist/tools/toolSearchTool.js +0 -200
  92. package/dist/utils/isDeferredTool.d.ts +0 -19
  93. package/dist/utils/isDeferredTool.d.ts.map +0 -1
  94. package/dist/utils/isDeferredTool.js +0 -31
  95. package/src/tools/toolSearchTool.ts +0 -245
  96. package/src/utils/isDeferredTool.ts +0 -36
@@ -1 +1 @@
1
- {"version":3,"file":"exitWorktreeTool.d.ts","sourceRoot":"","sources":["../../src/tools/exitWorktreeTool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;AAYtE,eAAO,MAAM,yBAAyB,gvDA4BrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,UAkM9B,CAAC"}
1
+ {"version":3,"file":"exitWorktreeTool.d.ts","sourceRoot":"","sources":["../../src/tools/exitWorktreeTool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;AAYtE,eAAO,MAAM,yBAAyB,gvDA4BrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,UAiM9B,CAAC"}
@@ -37,7 +37,6 @@ If called outside an EnterWorktree session, the tool is a **no-op**: it reports
37
37
  `;
38
38
  export const exitWorktreeTool = {
39
39
  name: EXIT_WORKTREE_TOOL_NAME,
40
- shouldDefer: true,
41
40
  config: {
42
41
  type: "function",
43
42
  function: {
@@ -1 +1 @@
1
- {"version":3,"file":"taskManagementTools.d.ts","sourceRoot":"","sources":["../../src/tools/taskManagementTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;AASjE,eAAO,MAAM,cAAc,EAAE,UAqI5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UA0DzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,UAiW5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,UAmE1B,CAAC"}
1
+ {"version":3,"file":"taskManagementTools.d.ts","sourceRoot":"","sources":["../../src/tools/taskManagementTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;AASjE,eAAO,MAAM,cAAc,EAAE,UAoI5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAyDzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,UAgW5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,UAkE1B,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { TASK_CREATE_TOOL_NAME, TASK_GET_TOOL_NAME, TASK_UPDATE_TOOL_NAME, TASK_LIST_TOOL_NAME, } from "../constants/tools.js";
2
2
  export const taskCreateTool = {
3
3
  name: TASK_CREATE_TOOL_NAME,
4
- shouldDefer: true,
5
4
  config: {
6
5
  type: "function",
7
6
  function: {
@@ -124,7 +123,6 @@ NOTE that you should not use this tool if there is only one trivial task to do.
124
123
  };
125
124
  export const taskGetTool = {
126
125
  name: TASK_GET_TOOL_NAME,
127
- shouldDefer: true,
128
126
  config: {
129
127
  type: "function",
130
128
  function: {
@@ -181,7 +179,6 @@ Returns full task details:
181
179
  };
182
180
  export const taskUpdateTool = {
183
181
  name: TASK_UPDATE_TOOL_NAME,
184
- shouldDefer: true,
185
182
  config: {
186
183
  type: "function",
187
184
  function: {
@@ -481,7 +478,6 @@ Set up task dependencies:
481
478
  };
482
479
  export const taskListTool = {
483
480
  name: TASK_LIST_TOOL_NAME,
484
- shouldDefer: true,
485
481
  config: {
486
482
  type: "function",
487
483
  function: {
@@ -19,21 +19,6 @@ export interface ToolPlugin {
19
19
  workdir?: string;
20
20
  isSubagent?: boolean;
21
21
  }) => string;
22
- /**
23
- * When true, this tool is deferred — it's not sent to the API until the model
24
- * discovers it via ToolSearch. MCP tools are always deferred.
25
- */
26
- shouldDefer?: boolean;
27
- /**
28
- * When true, this tool is never deferred — its full schema always appears in
29
- * the initial prompt even when tool search is enabled.
30
- */
31
- alwaysLoad?: boolean;
32
- /**
33
- * When true, this is an MCP tool (auto-set by McpManager). MCP tools are
34
- * always deferred unless they have alwaysLoad: true.
35
- */
36
- isMcp?: boolean;
37
22
  }
38
23
  export interface ToolResult {
39
24
  success: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webFetchTool.d.ts","sourceRoot":"","sources":["../../src/tools/webFetchTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;AAoGtE,eAAO,MAAM,YAAY,EAAE,UAqL1B,CAAC"}
1
+ {"version":3,"file":"webFetchTool.d.ts","sourceRoot":"","sources":["../../src/tools/webFetchTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;AAoGtE,eAAO,MAAM,YAAY,EAAE,UAoL1B,CAAC"}
@@ -77,7 +77,6 @@ const GITHUB_URL_ERROR = "For GitHub URLs, please use the 'gh' CLI via the Bash
77
77
  // --- Tool ---
78
78
  export const webFetchTool = {
79
79
  name: WEB_FETCH_TOOL_NAME,
80
- shouldDefer: true,
81
80
  config: {
82
81
  type: "function",
83
82
  function: {
@@ -40,6 +40,8 @@ export interface WaveConfiguration {
40
40
  autoMemoryEnabled?: boolean;
41
41
  /** Frequency of auto-memory extraction turns */
42
42
  autoMemoryFrequency?: number;
43
+ /** Persisted model selection (from /model command) */
44
+ model?: string;
43
45
  /** Model-specific configuration overrides */
44
46
  models?: Record<string, Partial<ModelConfig>>;
45
47
  /** Scoped marketplace declarations */
@@ -124,5 +126,23 @@ interface Logger {
124
126
  info: (...args: unknown[]) => void;
125
127
  debug: (...args: unknown[]) => void;
126
128
  }
129
+ export interface RemoteSettingsResponse {
130
+ uuid: string;
131
+ checksum: string;
132
+ settings: WaveConfiguration;
133
+ }
134
+ export interface RemoteSettingsCache {
135
+ uuid: string;
136
+ checksum: string;
137
+ settings: WaveConfiguration;
138
+ fetchedAt: string;
139
+ }
140
+ export interface RemoteSettingsFetchResult {
141
+ success: boolean;
142
+ settings?: WaveConfiguration | null;
143
+ checksum?: string;
144
+ error?: string;
145
+ notConfigured?: boolean;
146
+ }
127
147
  export {};
128
148
  //# sourceMappingURL=configuration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/types/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/types/configuration.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,9 @@ export interface McpTool {
22
22
  export interface McpServerStatus {
23
23
  name: string;
24
24
  config: McpServerConfig;
25
- status: "disconnected" | "connected" | "connecting" | "error";
25
+ /** Pre-resolution URL with template variables (e.g. ${WAVE_SSO_TOKEN}) preserved for safe display */
26
+ originalUrl?: string;
27
+ status: "disconnected" | "connected" | "connecting" | "reconnecting" | "error";
26
28
  tools?: McpTool[];
27
29
  toolCount?: number;
28
30
  capabilities?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;IAC9D,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EACF,cAAc,GACd,WAAW,GACX,YAAY,GACZ,cAAc,GACd,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"containerSetup.d.ts","sourceRoot":"","sources":["../../src/utils/containerSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAwB3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAM3E,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,IAAI,EACJ,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAGhB,uBAAuB,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACvC,sBAAsB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,wBAAwB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,iBAAiB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,0BAA0B,GACvC,SAAS,CA6RX"}
1
+ {"version":3,"file":"containerSetup.d.ts","sourceRoot":"","sources":["../../src/utils/containerSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAwB3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAM3E,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,IAAI,EACJ,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAGhB,uBAAuB,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACvC,sBAAsB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,wBAAwB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,iBAAiB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,0BAA0B,GACvC,SAAS,CAsSX"}
@@ -29,6 +29,7 @@ import { USER_MEMORY_FILE } from "./constants.js";
29
29
  import { getGitMainRepoRoot } from "./gitUtils.js";
30
30
  import { logger } from "./globalLogger.js";
31
31
  import { authService } from "../services/authService.js";
32
+ import { remoteSettingsService } from "../services/remoteSettingsService.js";
32
33
  export function setupAgentContainer(setupOptions) {
33
34
  const { options, workdir, configurationService, systemPrompt, stream, onBackgroundTasksChange, onTasksChange, onPermissionModeChange, handlePlanModeTransition, setPermissionMode, addPermissionRule, addUsage, } = setupOptions;
34
35
  const callbacks = options.callbacks || {};
@@ -109,6 +110,15 @@ export function setupAgentContainer(setupOptions) {
109
110
  mcpManager.refreshCredentials(newServerUrl, newToken);
110
111
  }
111
112
  });
113
+ // Wire up auth change callback to refresh/clear remote settings
114
+ authService.onAuthChange((event) => {
115
+ if (event === "login") {
116
+ remoteSettingsService.refresh();
117
+ }
118
+ else if (event === "logout") {
119
+ remoteSettingsService.clear();
120
+ }
121
+ });
112
122
  const lspManager = options.lspManager || new LspManager(container);
113
123
  container.register("LspManager", lspManager);
114
124
  const permissionManager = new PermissionManager(container, {
@@ -1 +1 @@
1
- {"version":3,"file":"mcpUtils.d.ts","sourceRoot":"","sources":["../../src/utils/mcpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA8ClE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,0BAA0B,CAgB5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD,CAAC,GACD,UAAU,CAyBZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,eAAe,GAAG,SAAS,CAK7B"}
1
+ {"version":3,"file":"mcpUtils.d.ts","sourceRoot":"","sources":["../../src/utils/mcpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA8ClE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,0BAA0B,CAgB5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD,CAAC,GACD,UAAU,CAwBZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,eAAe,GAAG,SAAS,CAK7B"}
@@ -57,7 +57,6 @@ export function createMcpToolPlugin(mcpTool, serverName, executeTool) {
57
57
  return {
58
58
  name: prefixedName,
59
59
  config: mcpToolToOpenAITool(mcpTool, serverName),
60
- isMcp: true, // MCP tools are always deferred
61
60
  async execute(args, context) {
62
61
  try {
63
62
  const result = await executeTool(prefixedName, args, context);
@@ -1 +1 @@
1
- {"version":3,"file":"openaiClient.d.ts","sourceRoot":"","sources":["../../src/utils/openaiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACnC,mBAAmB,EACnB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,KAAK,YAAY,GACb,sCAAsC,GACtC,mCAAmC,CAAC;AAExC,UAAU,WAAW,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,UAAU,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IACxC,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC,IAAI,IAAI;;qBAGO,CAAC,SAAS,YAAY,UACrB,CAAC,YACC;gBAAE,MAAM,CAAC,EAAE,WAAW,CAAA;aAAE,KACjC,UAAU,CACX,CAAC,SAAS,mCAAmC,GACzC,aAAa,CAAC,mBAAmB,CAAC,GAClC,cAAc,CACnB;;MA2BN;YAEa,OAAO;YAqIN,oBAAoB;CAqCpC"}
1
+ {"version":3,"file":"openaiClient.d.ts","sourceRoot":"","sources":["../../src/utils/openaiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACnC,mBAAmB,EACnB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,KAAK,YAAY,GACb,sCAAsC,GACtC,mCAAmC,CAAC;AAExC,UAAU,WAAW,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,UAAU,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IACxC,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC,IAAI,IAAI;;qBAGO,CAAC,SAAS,YAAY,UACrB,CAAC,YACC;gBAAE,MAAM,CAAC,EAAE,WAAW,CAAA;aAAE,KACjC,UAAU,CACX,CAAC,SAAS,mCAAmC,GACzC,aAAa,CAAC,mBAAmB,CAAC,GAClC,cAAc,CACnB;;MA2BN;YAEa,OAAO;YAwIN,oBAAoB;CAqCpC"}
@@ -107,8 +107,10 @@ export class OpenAIClient {
107
107
  : response.statusText);
108
108
  error.status = response.status;
109
109
  error.body = errorBody;
110
- if (response.status === 429 && attempt < maxRetries) {
111
- logger.warn("OpenAI API 429 Too Many Requests, retrying...", {
110
+ const retryableStatus = response.status === 429 ||
111
+ (response.status >= 500 && response.status !== 501);
112
+ if (retryableStatus && attempt < maxRetries) {
113
+ logger.warn("OpenAI API error, retrying...", {
112
114
  attempt: attempt + 1,
113
115
  status: response.status,
114
116
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wave-agent-sdk",
3
- "version": "0.16.8",
3
+ "version": "0.16.10",
4
4
  "description": "SDK for building AI-powered development tools and agents",
5
5
  "keywords": [
6
6
  "ai",
package/src/agent.ts CHANGED
@@ -51,6 +51,7 @@ import {
51
51
  shutdownTelemetry,
52
52
  } from "./telemetry/instrumentation.js";
53
53
  import { logOTelEvent } from "./telemetry/events.js";
54
+ import { remoteSettingsService } from "./services/remoteSettingsService.js";
54
55
 
55
56
  export class Agent {
56
57
  private messageManager: MessageManager;
@@ -720,6 +721,8 @@ export class Agent {
720
721
  error,
721
722
  );
722
723
  }
724
+ // Cleanup remote settings polling
725
+ remoteSettingsService.shutdown();
723
726
  // Cleanup memory store
724
727
  }
725
728
 
@@ -21,4 +21,3 @@ export const CRON_LIST_TOOL_NAME = "CronList";
21
21
  export const WEB_FETCH_TOOL_NAME = "WebFetch";
22
22
  export const ENTER_WORKTREE_TOOL_NAME = "EnterWorktree";
23
23
  export const EXIT_WORKTREE_TOOL_NAME = "ExitWorktree";
24
- export const TOOL_SEARCH_TOOL_NAME = "ToolSearch";
@@ -66,8 +66,6 @@ export class AIManager {
66
66
  private modelOverride?: string;
67
67
  private consecutiveCompactionFailures: number = 0;
68
68
  private readonly maxTurns?: number;
69
- /** Tracks which deferred tools have been discovered via ToolSearch */
70
- private discoveredTools = new Set<string>();
71
69
 
72
70
  // Service overrides
73
71
  constructor(
@@ -203,7 +201,6 @@ export class AIManager {
203
201
  availableSkills,
204
202
  workdir: this.getWorkdir(),
205
203
  isSubagent: !!this.subagentType,
206
- discoveredTools: this.discoveredTools,
207
204
  });
208
205
  }
209
206
 
@@ -1060,11 +1057,6 @@ export class AIManager {
1060
1057
  toolArgs,
1061
1058
  toolResult,
1062
1059
  );
1063
-
1064
- // Track discovered tools from ToolSearch results
1065
- if (toolName === "ToolSearch" && toolResult.success) {
1066
- this.trackDiscoveredTools(toolResult.content);
1067
- }
1068
1060
  } catch (toolError) {
1069
1061
  const errorMessage =
1070
1062
  toolError instanceof Error
@@ -1533,44 +1525,4 @@ export class AIManager {
1533
1525
  logger?.error("PostToolUse hook execution failed:", error);
1534
1526
  }
1535
1527
  }
1536
-
1537
- /**
1538
- * Parse ToolSearch result content to extract discovered tool names.
1539
- * ToolSearch returns content like "ToolName: description\nParameters: {...}"
1540
- * or shortResult like "Discovered tools: ToolA, ToolB".
1541
- */
1542
- private trackDiscoveredTools(content: string): void {
1543
- // Try to extract tool names from shortResult-style content
1544
- const discoveredMatch = content.match(/Discovered tools?: ([\w-, ]+)/);
1545
- if (discoveredMatch) {
1546
- const names = discoveredMatch[1]!
1547
- .split(",")
1548
- .map((n) => n.trim())
1549
- .filter(Boolean);
1550
- for (const name of names) {
1551
- this.discoveredTools.add(name);
1552
- }
1553
- logger?.debug("Discovered tools:", names);
1554
- return;
1555
- }
1556
-
1557
- // Fallback: extract tool names from "ToolName: description" pattern
1558
- const lines = content.split("\n");
1559
- const nonToolKeywords = new Set([
1560
- "parameters",
1561
- "description",
1562
- "result",
1563
- "error",
1564
- "content",
1565
- "type",
1566
- "properties",
1567
- "required",
1568
- ]);
1569
- for (const line of lines) {
1570
- const toolMatch = line.match(/^([\w-]+):/);
1571
- if (toolMatch && !nonToolKeywords.has(toolMatch[1]!.toLowerCase())) {
1572
- this.discoveredTools.add(toolMatch[1]!);
1573
- }
1574
- }
1575
- }
1576
1528
  }
@@ -44,7 +44,11 @@ export interface McpManagerOptions {
44
44
  * Expand environment variables in a string value.
45
45
  * Supports ${VAR} and ${VAR:-default} patterns.
46
46
  */
47
- const WAVE_TEMPLATE_VARS = ["WAVE_SERVER_URL", "WAVE_SSO_TOKEN"];
47
+ const WAVE_TEMPLATE_VARS = [
48
+ "WAVE_SERVER_URL",
49
+ "WAVE_SSO_TOKEN",
50
+ "WAVE_PLUGIN_ROOT",
51
+ ];
48
52
 
49
53
  export function expandEnvVars(value: string): string {
50
54
  return value.replace(/\$\{([^}]+)\}/g, (_match, expr: string) => {
@@ -268,10 +272,14 @@ export class McpManager {
268
272
 
269
273
  try {
270
274
  const configContent = await fs.readFile(this.configPath, "utf-8");
271
- const workspaceConfig = resolveMcpConfig(
272
- JSON.parse(configContent),
273
- this.resolverCtx,
274
- );
275
+ const rawConfig: McpConfig = JSON.parse(configContent);
276
+ const workspaceConfig = resolveMcpConfig(rawConfig, this.resolverCtx);
277
+
278
+ // Extract original (pre-resolution) URLs for safe display
279
+ const originalUrls: Record<string, string | undefined> = {};
280
+ for (const [name, serverConfig] of Object.entries(rawConfig.mcpServers)) {
281
+ originalUrls[name] = serverConfig.url;
282
+ }
275
283
 
276
284
  // Merge workspace config with any existing config (e.g., from plugins or constructor)
277
285
  // Constructor-provided servers take precedence, then workspace config, then existing config
@@ -296,12 +304,14 @@ export class McpManager {
296
304
  this.servers.set(name, {
297
305
  ...existingServer,
298
306
  config, // Update config in case it changed
307
+ originalUrl: originalUrls[name] ?? existingServer.originalUrl,
299
308
  });
300
309
  } else {
301
310
  // New server, initialize with disconnected status
302
311
  this.servers.set(name, {
303
312
  name,
304
313
  config,
314
+ originalUrl: originalUrls[name],
305
315
  status: "disconnected",
306
316
  });
307
317
  }
@@ -355,15 +365,45 @@ export class McpManager {
355
365
  return false;
356
366
  }
357
367
 
358
- // Resolve template variables before storing
359
- const resolvedConfig = resolveMcpTemplates(
360
- config,
368
+ // Capture original URL before any resolution for safe display
369
+ const originalUrl = config.url;
370
+
371
+ // Step 1: expand env vars from process.env (e.g. ${TAVILY_API_KEY})
372
+ let resolvedConfig: McpServerConfig = { ...config };
373
+ if (resolvedConfig.command) {
374
+ resolvedConfig.command = expandEnvVars(resolvedConfig.command);
375
+ }
376
+ if (resolvedConfig.args) {
377
+ resolvedConfig.args = resolvedConfig.args.map(expandEnvVars);
378
+ }
379
+ if (resolvedConfig.env) {
380
+ const resolvedEnv: Record<string, string> = {};
381
+ for (const [key, val] of Object.entries(resolvedConfig.env)) {
382
+ resolvedEnv[key] = expandEnvVars(val);
383
+ }
384
+ resolvedConfig.env = resolvedEnv;
385
+ }
386
+ if (resolvedConfig.url) {
387
+ resolvedConfig.url = expandEnvVars(resolvedConfig.url);
388
+ }
389
+ if (resolvedConfig.headers) {
390
+ const resolvedHeaders: Record<string, string> = {};
391
+ for (const [key, val] of Object.entries(resolvedConfig.headers)) {
392
+ resolvedHeaders[key] = expandEnvVars(val);
393
+ }
394
+ resolvedConfig.headers = resolvedHeaders;
395
+ }
396
+
397
+ // Step 2: resolve Wave template variables (e.g. ${WAVE_SERVER_URL}, ${WAVE_SSO_TOKEN})
398
+ resolvedConfig = resolveMcpTemplates(
399
+ resolvedConfig,
361
400
  this.resolverCtx ?? { serverUrl: undefined, ssoToken: undefined },
362
401
  );
363
402
 
364
403
  const newServer: McpServerStatus = {
365
404
  name,
366
405
  config: resolvedConfig,
406
+ originalUrl,
367
407
  status: "disconnected",
368
408
  };
369
409
 
@@ -545,13 +585,29 @@ export class McpManager {
545
585
  );
546
586
  }
547
587
 
548
- // Handle transport errors
588
+ // Handle transport errors (e.g. SSE stream disconnected)
589
+ // The SDK auto-reconnects for transient SSE errors, so we use
590
+ // "reconnecting" status instead of "error". We then poll listTools()
591
+ // to detect when reconnection succeeds.
549
592
  transport.onerror = (error: Error) => {
550
- logger?.error(`MCP Server ${name} transport error:`, error);
551
- this.updateServerStatus(name, {
552
- status: "error",
553
- error: error.message,
554
- });
593
+ const isTransient = error.message?.includes("SSE stream disconnected");
594
+ if (isTransient) {
595
+ logger?.warn(
596
+ `MCP Server ${name} transient transport error (SDK will auto-reconnect): ${error.message}`,
597
+ );
598
+ this.updateServerStatus(name, {
599
+ status: "reconnecting",
600
+ error: error.message,
601
+ });
602
+ // Poll to detect when the SDK's auto-reconnect succeeds
603
+ this.pollReconnectRecovery(name, client);
604
+ } else {
605
+ logger?.error(`MCP Server ${name} transport error:`, error);
606
+ this.updateServerStatus(name, {
607
+ status: "error",
608
+ error: error.message,
609
+ });
610
+ }
555
611
  };
556
612
 
557
613
  transport.onclose = () => {
@@ -631,6 +687,54 @@ export class McpManager {
631
687
  this.reconnectTimers.set(name, timer);
632
688
  }
633
689
 
690
+ /**
691
+ * Poll listTools() to detect when the SDK's auto-reconnect succeeds
692
+ * after a transient SSE disconnect. Restores status to "connected".
693
+ */
694
+ private async pollReconnectRecovery(
695
+ name: string,
696
+ client: Client,
697
+ ): Promise<void> {
698
+ const maxAttempts = 10;
699
+ const delay = 3000; // Match SDK's reconnection delay
700
+ for (let i = 0; i < maxAttempts; i++) {
701
+ await new Promise((r) => setTimeout(r, delay));
702
+ const serverStatus = this.servers.get(name);
703
+ if (serverStatus?.status !== "reconnecting") {
704
+ return; // Status changed by onclose or user action — stop polling
705
+ }
706
+ try {
707
+ const toolsResponse = await client.listTools();
708
+ const tools =
709
+ toolsResponse.tools?.map((tool) => ({
710
+ name: tool.name,
711
+ description: tool.description,
712
+ inputSchema: tool.inputSchema,
713
+ })) || [];
714
+ logger?.info(
715
+ `MCP Server ${name} auto-reconnected successfully (attempt ${i + 1})`,
716
+ );
717
+ this.updateServerStatus(name, {
718
+ status: "connected",
719
+ tools,
720
+ toolCount: tools.length,
721
+ lastConnected: Date.now(),
722
+ error: undefined,
723
+ });
724
+ this.reconnectAttempts.delete(name);
725
+ return;
726
+ } catch {
727
+ logger?.debug(
728
+ `MCP Server ${name} reconnect recovery check ${i + 1}/${maxAttempts} failed`,
729
+ );
730
+ }
731
+ }
732
+ // If we exhausted attempts, fall through to McpManager's own reconnect
733
+ logger?.warn(
734
+ `MCP Server ${name} SDK auto-reconnect did not recover after ${maxAttempts} attempts`,
735
+ );
736
+ }
737
+
634
738
  private cancelReconnect(name: string): void {
635
739
  const timer = this.reconnectTimers.get(name);
636
740
  if (timer) {
@@ -846,7 +950,7 @@ export class McpManager {
846
950
  this.resolverCtx,
847
951
  );
848
952
 
849
- // Update the stored config
953
+ // Update the stored config, preserving originalUrl
850
954
  this.servers.set(name, {
851
955
  ...server,
852
956
  config: resolvedConfig,
@@ -859,7 +963,9 @@ export class McpManager {
859
963
  // Determine if reconnection is needed
860
964
  const wasConnected = this.connections.has(name);
861
965
  const wasDisconnected =
862
- server.status === "disconnected" || server.status === "error";
966
+ server.status === "disconnected" ||
967
+ server.status === "error" ||
968
+ server.status === "reconnecting";
863
969
 
864
970
  if (wasConnected) {
865
971
  // Disconnect first, then reconnect with new resolved config
@@ -45,8 +45,6 @@ import { logger } from "../utils/globalLogger.js";
45
45
 
46
46
  import type { SubagentConfiguration } from "../utils/subagentParser.js";
47
47
  import type { SkillMetadata } from "../types/skills.js";
48
- import { toolSearchTool } from "../tools/toolSearchTool.js";
49
- import { isDeferredTool } from "../utils/isDeferredTool.js";
50
48
  import { startToolSpan, endToolSpan } from "../telemetry/sessionTracing.js";
51
49
 
52
50
  export interface ToolManagerOptions {
@@ -134,7 +132,6 @@ class ToolManager {
134
132
  webFetchTool,
135
133
  enterWorktreeTool,
136
134
  exitWorktreeTool,
137
- toolSearchTool,
138
135
  ];
139
136
 
140
137
  for (const tool of builtInTools) {
@@ -210,7 +207,7 @@ class ToolManager {
210
207
  permissionMode: effectivePermissionMode,
211
208
  canUseToolCallback,
212
209
  permissionManager,
213
- toolManager: this, // Allow ToolSearchTool to access the tool manager
210
+ toolManager: this,
214
211
  taskManager:
215
212
  this.container.get<import("../services/taskManager.js").TaskManager>(
216
213
  "TaskManager",
@@ -349,13 +346,10 @@ class ToolManager {
349
346
  availableSkills?: SkillMetadata[];
350
347
  workdir?: string;
351
348
  isSubagent?: boolean;
352
- /** Set of discovered deferred tool names to include in the API call */
353
- discoveredTools?: Set<string>;
354
349
  }): ChatCompletionFunctionTool[] {
355
350
  const permissionManager =
356
351
  this.container.get<PermissionManager>("PermissionManager");
357
352
  const effectivePermissionMode = this.getPermissionMode();
358
- const discoveredTools = options?.discoveredTools;
359
353
  const builtInToolsConfig = Array.from(this.toolsRegistry.values())
360
354
  .filter((tool) => {
361
355
  // If tool is explicitly denied by name in permission rules, filter it out
@@ -380,10 +374,6 @@ class ToolManager {
380
374
  effectivePermissionMode !== "bypassPermissions"
381
375
  );
382
376
  }
383
- // Exclude deferred tools that haven't been discovered yet
384
- if (isDeferredTool(tool) && !discoveredTools?.has(tool.name)) {
385
- return false;
386
- }
387
377
  return true;
388
378
  })
389
379
  .map((tool) => {
@@ -406,10 +396,6 @@ class ToolManager {
406
396
  if (permissionManager?.isToolDenied(tool.function.name)) {
407
397
  return false;
408
398
  }
409
- // Exclude MCP tools that haven't been discovered yet
410
- if (discoveredTools && !discoveredTools.has(tool.function.name)) {
411
- return false;
412
- }
413
399
  return true;
414
400
  });
415
401
  return [...builtInToolsConfig, ...mcpToolsConfig];
@@ -453,23 +439,6 @@ class ToolManager {
453
439
  return this.container.get<PermissionManager>("PermissionManager");
454
440
  }
455
441
 
456
- /**
457
- * Get the names of all deferred tools (those that require ToolSearch to discover).
458
- */
459
- public getDeferredToolNames(): string[] {
460
- const permissionManager =
461
- this.container.get<PermissionManager>("PermissionManager");
462
- const builtInDeferred = Array.from(this.toolsRegistry.values())
463
- .filter((tool) => isDeferredTool(tool))
464
- .filter((tool) => !permissionManager?.isToolDenied(tool.name))
465
- .map((tool) => tool.name);
466
- const mcpDeferred = this.mcpManager
467
- .getMcpToolsConfig()
468
- .filter((tool) => !permissionManager?.isToolDenied(tool.function.name))
469
- .map((tool) => tool.function.name);
470
- return [...builtInDeferred, ...mcpDeferred];
471
- }
472
-
473
442
  /**
474
443
  * Get the task manager
475
444
  */