@opentabs-dev/mcp-server 0.0.61 → 0.0.62

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 (180) hide show
  1. package/dist/browser-tools/analyze-site.d.ts.map +1 -1
  2. package/dist/browser-tools/analyze-site.js +2 -0
  3. package/dist/browser-tools/analyze-site.js.map +1 -1
  4. package/dist/browser-tools/clear-console-logs.d.ts.map +1 -1
  5. package/dist/browser-tools/clear-console-logs.js +2 -0
  6. package/dist/browser-tools/clear-console-logs.js.map +1 -1
  7. package/dist/browser-tools/click-element.d.ts.map +1 -1
  8. package/dist/browser-tools/click-element.js +2 -0
  9. package/dist/browser-tools/click-element.js.map +1 -1
  10. package/dist/browser-tools/close-tab.d.ts.map +1 -1
  11. package/dist/browser-tools/close-tab.js +2 -0
  12. package/dist/browser-tools/close-tab.js.map +1 -1
  13. package/dist/browser-tools/definition.d.ts +4 -0
  14. package/dist/browser-tools/definition.d.ts.map +1 -1
  15. package/dist/browser-tools/definition.js.map +1 -1
  16. package/dist/browser-tools/delete-cookies.d.ts.map +1 -1
  17. package/dist/browser-tools/delete-cookies.js +2 -0
  18. package/dist/browser-tools/delete-cookies.js.map +1 -1
  19. package/dist/browser-tools/disable-network-capture.d.ts.map +1 -1
  20. package/dist/browser-tools/disable-network-capture.js +2 -0
  21. package/dist/browser-tools/disable-network-capture.js.map +1 -1
  22. package/dist/browser-tools/enable-network-capture.d.ts.map +1 -1
  23. package/dist/browser-tools/enable-network-capture.js +2 -0
  24. package/dist/browser-tools/enable-network-capture.js.map +1 -1
  25. package/dist/browser-tools/execute-script.d.ts.map +1 -1
  26. package/dist/browser-tools/execute-script.js +2 -0
  27. package/dist/browser-tools/execute-script.js.map +1 -1
  28. package/dist/browser-tools/export-har.d.ts.map +1 -1
  29. package/dist/browser-tools/export-har.js +2 -0
  30. package/dist/browser-tools/export-har.js.map +1 -1
  31. package/dist/browser-tools/extension-check-adapter.d.ts.map +1 -1
  32. package/dist/browser-tools/extension-check-adapter.js +2 -0
  33. package/dist/browser-tools/extension-check-adapter.js.map +1 -1
  34. package/dist/browser-tools/extension-force-reconnect.d.ts.map +1 -1
  35. package/dist/browser-tools/extension-force-reconnect.js +2 -0
  36. package/dist/browser-tools/extension-force-reconnect.js.map +1 -1
  37. package/dist/browser-tools/extension-get-logs.d.ts +1 -1
  38. package/dist/browser-tools/extension-get-logs.d.ts.map +1 -1
  39. package/dist/browser-tools/extension-get-logs.js +2 -0
  40. package/dist/browser-tools/extension-get-logs.js.map +1 -1
  41. package/dist/browser-tools/extension-get-side-panel.d.ts.map +1 -1
  42. package/dist/browser-tools/extension-get-side-panel.js +2 -0
  43. package/dist/browser-tools/extension-get-side-panel.js.map +1 -1
  44. package/dist/browser-tools/extension-get-state.d.ts.map +1 -1
  45. package/dist/browser-tools/extension-get-state.js +2 -0
  46. package/dist/browser-tools/extension-get-state.js.map +1 -1
  47. package/dist/browser-tools/focus-tab.d.ts.map +1 -1
  48. package/dist/browser-tools/focus-tab.js +2 -0
  49. package/dist/browser-tools/focus-tab.js.map +1 -1
  50. package/dist/browser-tools/get-console-logs.d.ts +1 -1
  51. package/dist/browser-tools/get-console-logs.d.ts.map +1 -1
  52. package/dist/browser-tools/get-console-logs.js +2 -0
  53. package/dist/browser-tools/get-console-logs.js.map +1 -1
  54. package/dist/browser-tools/get-cookies.d.ts.map +1 -1
  55. package/dist/browser-tools/get-cookies.js +2 -0
  56. package/dist/browser-tools/get-cookies.js.map +1 -1
  57. package/dist/browser-tools/get-network-requests.d.ts.map +1 -1
  58. package/dist/browser-tools/get-network-requests.js +2 -0
  59. package/dist/browser-tools/get-network-requests.js.map +1 -1
  60. package/dist/browser-tools/get-page-html.d.ts.map +1 -1
  61. package/dist/browser-tools/get-page-html.js +2 -0
  62. package/dist/browser-tools/get-page-html.js.map +1 -1
  63. package/dist/browser-tools/get-resource-content.d.ts.map +1 -1
  64. package/dist/browser-tools/get-resource-content.js +2 -0
  65. package/dist/browser-tools/get-resource-content.js.map +1 -1
  66. package/dist/browser-tools/get-storage.d.ts.map +1 -1
  67. package/dist/browser-tools/get-storage.js +2 -0
  68. package/dist/browser-tools/get-storage.js.map +1 -1
  69. package/dist/browser-tools/get-tab-content.d.ts.map +1 -1
  70. package/dist/browser-tools/get-tab-content.js +2 -0
  71. package/dist/browser-tools/get-tab-content.js.map +1 -1
  72. package/dist/browser-tools/get-tab-info.d.ts.map +1 -1
  73. package/dist/browser-tools/get-tab-info.js +2 -0
  74. package/dist/browser-tools/get-tab-info.js.map +1 -1
  75. package/dist/browser-tools/get-websocket-frames.d.ts.map +1 -1
  76. package/dist/browser-tools/get-websocket-frames.js +2 -0
  77. package/dist/browser-tools/get-websocket-frames.js.map +1 -1
  78. package/dist/browser-tools/handle-dialog.d.ts.map +1 -1
  79. package/dist/browser-tools/handle-dialog.js +2 -0
  80. package/dist/browser-tools/handle-dialog.js.map +1 -1
  81. package/dist/browser-tools/hover-element.d.ts.map +1 -1
  82. package/dist/browser-tools/hover-element.js +2 -0
  83. package/dist/browser-tools/hover-element.js.map +1 -1
  84. package/dist/browser-tools/index.d.ts.map +1 -1
  85. package/dist/browser-tools/index.js +5 -0
  86. package/dist/browser-tools/index.js.map +1 -1
  87. package/dist/browser-tools/list-resources.d.ts.map +1 -1
  88. package/dist/browser-tools/list-resources.js +2 -0
  89. package/dist/browser-tools/list-resources.js.map +1 -1
  90. package/dist/browser-tools/list-tabs.d.ts.map +1 -1
  91. package/dist/browser-tools/list-tabs.js +2 -0
  92. package/dist/browser-tools/list-tabs.js.map +1 -1
  93. package/dist/browser-tools/navigate-tab.d.ts.map +1 -1
  94. package/dist/browser-tools/navigate-tab.js +2 -0
  95. package/dist/browser-tools/navigate-tab.js.map +1 -1
  96. package/dist/browser-tools/open-tab.d.ts.map +1 -1
  97. package/dist/browser-tools/open-tab.js +2 -0
  98. package/dist/browser-tools/open-tab.js.map +1 -1
  99. package/dist/browser-tools/plugin-list-tabs.d.ts.map +1 -1
  100. package/dist/browser-tools/plugin-list-tabs.js +2 -0
  101. package/dist/browser-tools/plugin-list-tabs.js.map +1 -1
  102. package/dist/browser-tools/press-key.d.ts.map +1 -1
  103. package/dist/browser-tools/press-key.js +2 -0
  104. package/dist/browser-tools/press-key.js.map +1 -1
  105. package/dist/browser-tools/query-elements.d.ts.map +1 -1
  106. package/dist/browser-tools/query-elements.js +2 -0
  107. package/dist/browser-tools/query-elements.js.map +1 -1
  108. package/dist/browser-tools/reload-extension.d.ts.map +1 -1
  109. package/dist/browser-tools/reload-extension.js +2 -0
  110. package/dist/browser-tools/reload-extension.js.map +1 -1
  111. package/dist/browser-tools/screenshot-tab.d.ts.map +1 -1
  112. package/dist/browser-tools/screenshot-tab.js +2 -0
  113. package/dist/browser-tools/screenshot-tab.js.map +1 -1
  114. package/dist/browser-tools/scroll.d.ts.map +1 -1
  115. package/dist/browser-tools/scroll.js +2 -0
  116. package/dist/browser-tools/scroll.js.map +1 -1
  117. package/dist/browser-tools/select-option.d.ts.map +1 -1
  118. package/dist/browser-tools/select-option.js +2 -0
  119. package/dist/browser-tools/select-option.js.map +1 -1
  120. package/dist/browser-tools/set-cookie.d.ts.map +1 -1
  121. package/dist/browser-tools/set-cookie.js +2 -0
  122. package/dist/browser-tools/set-cookie.js.map +1 -1
  123. package/dist/browser-tools/type-text.d.ts.map +1 -1
  124. package/dist/browser-tools/type-text.js +2 -0
  125. package/dist/browser-tools/type-text.js.map +1 -1
  126. package/dist/browser-tools/wait-for-element.d.ts.map +1 -1
  127. package/dist/browser-tools/wait-for-element.js +2 -0
  128. package/dist/browser-tools/wait-for-element.js.map +1 -1
  129. package/dist/config.d.ts +16 -41
  130. package/dist/config.d.ts.map +1 -1
  131. package/dist/config.js +56 -111
  132. package/dist/config.js.map +1 -1
  133. package/dist/discovery.d.ts +1 -4
  134. package/dist/discovery.d.ts.map +1 -1
  135. package/dist/discovery.js +5 -17
  136. package/dist/discovery.js.map +1 -1
  137. package/dist/extension-handlers.d.ts +21 -14
  138. package/dist/extension-handlers.d.ts.map +1 -1
  139. package/dist/extension-handlers.js +108 -188
  140. package/dist/extension-handlers.js.map +1 -1
  141. package/dist/extension-protocol.d.ts +4 -9
  142. package/dist/extension-protocol.d.ts.map +1 -1
  143. package/dist/extension-protocol.js +16 -45
  144. package/dist/extension-protocol.js.map +1 -1
  145. package/dist/file-watcher.js +2 -2
  146. package/dist/file-watcher.js.map +1 -1
  147. package/dist/http-routes.d.ts.map +1 -1
  148. package/dist/http-routes.js +5 -9
  149. package/dist/http-routes.js.map +1 -1
  150. package/dist/loader.d.ts +2 -4
  151. package/dist/loader.d.ts.map +1 -1
  152. package/dist/loader.js +6 -5
  153. package/dist/loader.js.map +1 -1
  154. package/dist/mcp-setup.d.ts +9 -9
  155. package/dist/mcp-setup.d.ts.map +1 -1
  156. package/dist/mcp-setup.js +39 -26
  157. package/dist/mcp-setup.js.map +1 -1
  158. package/dist/mcp-tool-dispatch.d.ts +11 -12
  159. package/dist/mcp-tool-dispatch.d.ts.map +1 -1
  160. package/dist/mcp-tool-dispatch.js +86 -125
  161. package/dist/mcp-tool-dispatch.js.map +1 -1
  162. package/dist/plugin-management.d.ts +0 -1
  163. package/dist/plugin-management.d.ts.map +1 -1
  164. package/dist/plugin-management.js +1 -2
  165. package/dist/plugin-management.js.map +1 -1
  166. package/dist/registry.d.ts +2 -4
  167. package/dist/registry.d.ts.map +1 -1
  168. package/dist/registry.js +1 -12
  169. package/dist/registry.js.map +1 -1
  170. package/dist/reload.d.ts.map +1 -1
  171. package/dist/reload.js +40 -35
  172. package/dist/reload.js.map +1 -1
  173. package/dist/state.d.ts +18 -44
  174. package/dist/state.d.ts.map +1 -1
  175. package/dist/state.js +14 -43
  176. package/dist/state.js.map +1 -1
  177. package/dist/version-check.d.ts.map +1 -1
  178. package/dist/version-check.js +1 -1
  179. package/dist/version-check.js.map +1 -1
  180. package/package.json +1 -1
@@ -68,11 +68,11 @@ declare const createMcpServer: (state: ServerState) => Promise<McpServerInstance
68
68
  */
69
69
  declare const notifyToolListChanged: (server: McpServerInstance) => void;
70
70
  /**
71
- * Returns the list of enabled tools for MCP tools/list responses.
72
- * Plugin tools are filtered by the toolConfig (disabled tools are excluded).
73
- * Browser tools are filtered by the browserToolPolicy (disabled tools are excluded).
71
+ * Returns all tools for MCP tools/list responses regardless of permission state.
72
+ * Each tool's description is prefixed with its permission state indicator so that
73
+ * agents can see disabled tools and tell the user to enable them.
74
74
  */
75
- export declare const getEnabledToolsList: (state: ServerState) => Array<{
75
+ export declare const getAllToolsList: (state: ServerState) => Array<{
76
76
  name: string;
77
77
  description: string;
78
78
  inputSchema: Record<string, unknown>;
@@ -91,13 +91,13 @@ export interface ToolCallableError {
91
91
  /** Discriminated union returned by {@link checkToolCallable} indicating success or failure. */
92
92
  export type ToolCallableResult = ToolCallableOk | ToolCallableError;
93
93
  /**
94
- * Check if a prefixed plugin tool name is callable: exists in the tool lookup
95
- * and is enabled in the tool config. Browser tools are handled separately
96
- * (before this check) in the tools/call handler.
94
+ * Check if a prefixed plugin tool name is callable: verifies it exists in the
95
+ * tool lookup. Permission checks happen at dispatch time, not here. Browser
96
+ * tools are handled separately (before this check) in the tools/call handler.
97
97
  *
98
- * @param state - Server state containing the plugin registry and tool config
98
+ * @param state - Server state containing the plugin registry
99
99
  * @param prefixedToolName - Fully prefixed tool name (e.g., 'slack_send_message')
100
- * @returns An ok result with pluginName/toolName if callable, or an error result with a message
100
+ * @returns An ok result with pluginName/toolName if found, or an error result with a message
101
101
  */
102
102
  export declare const checkToolCallable: (state: ServerState, prefixedToolName: string) => ToolCallableResult;
103
103
  export { sanitizeOutput } from './mcp-tool-dispatch.js';
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-setup.d.ts","sourceRoot":"","sources":["../src/mcp-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,KAAK,EAAqB,WAAW,EAAmB,MAAM,YAAY,CAAC;AAwBlF,0DAA0D;AAC1D,UAAU,iBAAiB;IACzB,iBAAiB,EAAE,CACjB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,CACP,OAAO,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EACxF,KAAK,EAAE,mBAAmB,KACvB,OAAO,KACT,IAAI,CAAC;IACV,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,kBAAkB,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnG;AAgBD;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,GAAI,OAAO,WAAW,KAAG,IAYvD,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,mBAAmB,GAAI,QAAQ,iBAAiB,EAAE,OAAO,WAAW,KAAG,IAqC5E,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,eAAe,GAAU,OAAO,WAAW,KAAG,OAAO,CAAC,iBAAiB,CAe5E,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,qBAAqB,GAAI,QAAQ,iBAAiB,KAAG,IAI1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,WAAW,KACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAkCnF,CAAC;AAEF,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+FAA+F;AAC/F,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,WAAW,EAAE,kBAAkB,MAAM,KAAG,kBAKhF,CAAC;AAIF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"mcp-setup.d.ts","sourceRoot":"","sources":["../src/mcp-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAErF,OAAO,KAAK,EAAqB,WAAW,EAAmB,MAAM,YAAY,CAAC;AAwBlF,0DAA0D;AAC1D,UAAU,iBAAiB;IACzB,iBAAiB,EAAE,CACjB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,CACP,OAAO,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EACxF,KAAK,EAAE,mBAAmB,KACvB,OAAO,KACT,IAAI,CAAC;IACV,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,kBAAkB,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnG;AAgBD;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,GAAI,OAAO,WAAW,KAAG,IAcvD,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,mBAAmB,GAAI,QAAQ,iBAAiB,EAAE,OAAO,WAAW,KAAG,IAwC5E,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,eAAe,GAAU,OAAO,WAAW,KAAG,OAAO,CAAC,iBAAiB,CAe5E,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,qBAAqB,GAAI,QAAQ,iBAAiB,KAAG,IAI1D,CAAC;AAeF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,WAAW,KACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAkCnF,CAAC;AAEF,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+FAA+F;AAC/F,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,WAAW,EAAE,kBAAkB,MAAM,KAAG,kBAIhF,CAAC;AAIF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,CAAC"}
package/dist/mcp-setup.js CHANGED
@@ -24,8 +24,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprot
24
24
  import { z } from 'zod';
25
25
  import { log } from './logger.js';
26
26
  import { handleBrowserToolCall, handlePluginToolCall } from './mcp-tool-dispatch.js';
27
- import { trustTierPrefix } from './registry.js';
28
- import { isBrowserToolEnabled, isToolEnabled, prefixedToolName } from './state.js';
27
+ import { getToolPermission, prefixedToolName } from './state.js';
29
28
  import { version } from './version.js';
30
29
  /**
31
30
  * Dynamically import the MCP SDK Server constructor.
@@ -52,7 +51,9 @@ const rebuildCachedBrowserTools = (state) => {
52
51
  return {
53
52
  name: bt.name,
54
53
  description: bt.description,
54
+ ...(bt.summary ? { summary: bt.summary } : {}),
55
55
  ...(bt.icon ? { icon: bt.icon } : {}),
56
+ ...(bt.group ? { group: bt.group } : {}),
56
57
  inputSchema: schema,
57
58
  tool: bt,
58
59
  };
@@ -69,11 +70,13 @@ const rebuildCachedBrowserTools = (state) => {
69
70
  * 2. Hot reload sequence in reload.ts — for existing sessions
70
71
  */
71
72
  const registerMcpHandlers = (server, state) => {
72
- // Handler: tools/list — return enabled plugin tools + browser tools.
73
- // Delegates to getEnabledToolsList() which filters disabled plugin tools
74
- // and always includes browser tools.
73
+ const dispatchCallbacks = {
74
+ onToolConfigChanged: () => notifyToolListChanged(server),
75
+ };
76
+ // Handler: tools/list — return all plugin tools + browser tools with
77
+ // description prefixes indicating their permission state.
75
78
  server.setRequestHandler(ListToolsRequestSchema, () => ({
76
- tools: getEnabledToolsList(state),
79
+ tools: getAllToolsList(state),
77
80
  }));
78
81
  // Handler: tools/call — dispatch to extension or handle browser tool locally.
79
82
  // Delegates to handleBrowserToolCall or handlePluginToolCall for the actual logic.
@@ -84,9 +87,9 @@ const registerMcpHandlers = (server, state) => {
84
87
  // Browser tools are few and fixed.
85
88
  const cachedBt = state.cachedBrowserTools.find(c => c.name === toolName);
86
89
  if (cachedBt) {
87
- return handleBrowserToolCall(state, toolName, args, cachedBt, extra);
90
+ return handleBrowserToolCall(state, toolName, args, cachedBt, extra, dispatchCallbacks);
88
91
  }
89
- // O(1) plugin tool lookup + enabled check via pre-built map
92
+ // O(1) plugin tool lookup via pre-built map
90
93
  const callableCheck = checkToolCallable(state, toolName);
91
94
  if (!callableCheck.ok) {
92
95
  return {
@@ -98,7 +101,7 @@ const registerMcpHandlers = (server, state) => {
98
101
  log.debug('tool.call:', toolName, '→', `${foundPlugin}/${foundTool}`);
99
102
  // Safe to assert: checkToolCallable verified the tool exists in registry.toolLookup
100
103
  const lookup = state.registry.toolLookup.get(toolName);
101
- return handlePluginToolCall(state, toolName, args, foundPlugin, foundTool, lookup, extra);
104
+ return handlePluginToolCall(state, toolName, args, foundPlugin, foundTool, lookup, extra, dispatchCallbacks);
102
105
  });
103
106
  };
104
107
  /**
@@ -127,17 +130,30 @@ const notifyToolListChanged = (server) => {
127
130
  });
128
131
  };
129
132
  /**
130
- * Returns the list of enabled tools for MCP tools/list responses.
131
- * Plugin tools are filtered by the toolConfig (disabled tools are excluded).
132
- * Browser tools are filtered by the browserToolPolicy (disabled tools are excluded).
133
+ * Returns the prefix to prepend to a tool's description based on its permission state.
134
+ * - 'off' → '[Disabled] '
135
+ * - 'ask' → '[Requires approval] '
136
+ * - 'auto' → '' (no prefix)
133
137
  */
134
- export const getEnabledToolsList = (state) => {
138
+ const descriptionPrefix = (state, pluginName, toolName) => {
139
+ const permission = getToolPermission(state, pluginName, toolName);
140
+ if (permission === 'off')
141
+ return '[Disabled] ';
142
+ if (permission === 'ask')
143
+ return '[Requires approval] ';
144
+ return '';
145
+ };
146
+ /**
147
+ * Returns all tools for MCP tools/list responses regardless of permission state.
148
+ * Each tool's description is prefixed with its permission state indicator so that
149
+ * agents can see disabled tools and tell the user to enable them.
150
+ */
151
+ export const getAllToolsList = (state) => {
135
152
  const tools = [];
136
153
  for (const plugin of state.registry.plugins.values()) {
137
154
  for (const toolDef of plugin.tools) {
138
155
  const prefixed = prefixedToolName(plugin.name, toolDef.name);
139
- if (!isToolEnabled(state, prefixed))
140
- continue;
156
+ const prefix = descriptionPrefix(state, plugin.name, toolDef.name);
141
157
  const clonedSchema = structuredClone(toolDef.input_schema);
142
158
  const properties = (clonedSchema.properties ?? {});
143
159
  properties.tabId = {
@@ -148,37 +164,34 @@ export const getEnabledToolsList = (state) => {
148
164
  clonedSchema.properties = properties;
149
165
  tools.push({
150
166
  name: prefixed,
151
- description: trustTierPrefix(plugin.trustTier) + toolDef.description,
167
+ description: `${prefix}${toolDef.description}`,
152
168
  inputSchema: clonedSchema,
153
169
  });
154
170
  }
155
171
  }
156
172
  for (const cached of state.cachedBrowserTools) {
157
- if (!isBrowserToolEnabled(state, cached.name))
158
- continue;
173
+ const prefix = descriptionPrefix(state, 'browser', cached.name);
159
174
  tools.push({
160
175
  name: cached.name,
161
- description: cached.description,
176
+ description: `${prefix}${cached.description}`,
162
177
  inputSchema: cached.inputSchema,
163
178
  });
164
179
  }
165
180
  return tools;
166
181
  };
167
182
  /**
168
- * Check if a prefixed plugin tool name is callable: exists in the tool lookup
169
- * and is enabled in the tool config. Browser tools are handled separately
170
- * (before this check) in the tools/call handler.
183
+ * Check if a prefixed plugin tool name is callable: verifies it exists in the
184
+ * tool lookup. Permission checks happen at dispatch time, not here. Browser
185
+ * tools are handled separately (before this check) in the tools/call handler.
171
186
  *
172
- * @param state - Server state containing the plugin registry and tool config
187
+ * @param state - Server state containing the plugin registry
173
188
  * @param prefixedToolName - Fully prefixed tool name (e.g., 'slack_send_message')
174
- * @returns An ok result with pluginName/toolName if callable, or an error result with a message
189
+ * @returns An ok result with pluginName/toolName if found, or an error result with a message
175
190
  */
176
191
  export const checkToolCallable = (state, prefixedToolName) => {
177
192
  const lookup = state.registry.toolLookup.get(prefixedToolName);
178
193
  if (!lookup)
179
194
  return { ok: false, error: `Tool ${prefixedToolName} not found` };
180
- if (!isToolEnabled(state, prefixedToolName))
181
- return { ok: false, error: `Tool ${prefixedToolName} is disabled` };
182
195
  return { ok: true, pluginName: lookup.pluginName, toolName: lookup.toolName };
183
196
  };
184
197
  // Re-export sanitizeOutput and RequestHandlerExtra so existing callers
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-setup.js","sourceRoot":"","sources":["../src/mcp-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-setup.js","sourceRoot":"","sources":["../src/mcp-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACnG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAoCvC;;;;;;;;GAQG;AACH,MAAM,aAAa,GAAG,KAAK,IAA0C,EAAE;IACrE,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAsB,CAAC;IAC7F,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAAkB,EAAQ,EAAE;IAC7D,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAqB,EAAE;QAC1E,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAA4B,CAAC;QACnE,OAAO,MAAM,CAAC,OAAO,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG,CAAC,MAAyB,EAAE,KAAkB,EAAQ,EAAE;IAClF,MAAM,iBAAiB,GAAsB;QAC3C,mBAAmB,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;KACzD,CAAC;IAEF,qEAAqE;IACrE,0DAA0D;IAC1D,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;KAC9B,CAAC,CAAC,CAAC;IAEJ,8EAA8E;IAC9E,mFAAmF;IACnF,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAE5C,gEAAgE;QAChE,mCAAmC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACzE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC1F,CAAC;QAED,4CAA4C;QAC5C,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACvE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;QACtE,oFAAoF;QACpF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAoB,CAAC;QAE1E,OAAO,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,eAAe,GAAG,KAAK,EAAE,KAAkB,EAA8B,EAAE;IAC/E,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,UAAU,CAC3B,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAC7B;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;YAC5B,OAAO,EAAE,EAAE;SACZ;KACF,CACF,CAAC;IAEF,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEnC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAAC,MAAyB,EAAQ,EAAE;IAChE,MAAM,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAClD,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAkB,EAAE,UAAkB,EAAE,QAAgB,EAAU,EAAE;IAC7F,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,aAAa,CAAC;IAC/C,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,sBAAsB,CAAC;IACxD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAkB,EACkE,EAAE;IACtF,MAAM,KAAK,GAAuF,EAAE,CAAC;IAErG,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACrD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;YAC9E,UAAU,CAAC,KAAK,GAAG;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,2LAA2L;aAC9L,CAAC;YACF,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE;gBAC9C,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;YAC7C,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAkBF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAkB,EAAE,gBAAwB,EAAsB,EAAE;IACpG,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,gBAAgB,YAAY,EAAE,CAAC;IAC/E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChF,CAAC,CAAC;AAEF,uEAAuE;AACvE,+DAA+D;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -12,11 +12,6 @@ import type { CachedBrowserTool, ServerState, ToolLookupEntry } from './state.js
12
12
  * in MCP clients that use naive JSON deserialization.
13
13
  */
14
14
  declare const sanitizeOutput: (obj: unknown, depth?: number) => unknown;
15
- /**
16
- * Truncate tool parameters into a short preview for the confirmation dialog.
17
- * Shows the first ~200 characters of the JSON-stringified args.
18
- */
19
- declare const truncateParamsPreview: (args: Record<string, unknown>) => string;
20
15
  /**
21
16
  * Format a structured error response for MCP clients.
22
17
  *
@@ -47,18 +42,22 @@ interface RequestHandlerExtra {
47
42
  params?: Record<string, unknown>;
48
43
  }) => Promise<void>;
49
44
  }
45
+ /** Callbacks from the MCP setup layer for persisting config changes */
46
+ interface DispatchCallbacks {
47
+ onToolConfigChanged: () => void;
48
+ }
50
49
  /**
51
- * Handle a browser tool call: Zod validation, permission evaluation,
52
- * confirmation flow, execution, output sanitization, and audit logging.
50
+ * Handle a browser tool call: permission check, Zod validation,
51
+ * confirmation flow (for 'ask'), execution, output sanitization, and audit logging.
53
52
  */
54
- declare const handleBrowserToolCall: (state: ServerState, toolName: string, args: Record<string, unknown>, cachedBt: CachedBrowserTool, extra: RequestHandlerExtra) => Promise<ToolCallResult>;
53
+ declare const handleBrowserToolCall: (state: ServerState, toolName: string, args: Record<string, unknown>, cachedBt: CachedBrowserTool, extra: RequestHandlerExtra, callbacks: DispatchCallbacks) => Promise<ToolCallResult>;
55
54
  /**
56
- * Handle a plugin tool call: Ajv validation, concurrency limiting,
55
+ * Handle a plugin tool call: permission check, Ajv validation, concurrency limiting,
57
56
  * dispatch to extension, error formatting, and audit logging.
58
57
  *
59
58
  * The caller must have already verified the tool is callable via checkToolCallable.
60
59
  */
61
- declare const handlePluginToolCall: (state: ServerState, toolName: string, args: Record<string, unknown>, pluginName: string, toolBaseName: string, lookup: ToolLookupEntry, extra: RequestHandlerExtra) => Promise<ToolCallResult>;
62
- export type { ToolCallResult, RequestHandlerExtra };
63
- export { sanitizeOutput, formatStructuredError, formatZodError, truncateParamsPreview, handleBrowserToolCall, handlePluginToolCall, };
60
+ declare const handlePluginToolCall: (state: ServerState, toolName: string, args: Record<string, unknown>, pluginName: string, toolBaseName: string, lookup: ToolLookupEntry, extra: RequestHandlerExtra, callbacks: DispatchCallbacks) => Promise<ToolCallResult>;
61
+ export type { ToolCallResult, RequestHandlerExtra, DispatchCallbacks };
62
+ export { sanitizeOutput, formatStructuredError, formatZodError, handleBrowserToolCall, handlePluginToolCall };
64
63
  //# sourceMappingURL=mcp-tool-dispatch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-dispatch.d.ts","sourceRoot":"","sources":["../src/mcp-tool-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAWpC,OAAO,KAAK,EAAc,iBAAiB,EAAwB,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAYpH;;;GAGG;AACH,QAAA,MAAM,cAAc,GAAI,KAAK,OAAO,EAAE,cAAS,KAAG,OASjD,CAAC;AAkDF;;;GAGG;AACH,QAAA,MAAM,qBAAqB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAI9D,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,qBAAqB,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAyB9F,CAAC;AAEF,sFAAsF;AACtF,QAAA,MAAM,cAAc,GAAI,KAAK,QAAQ,KAAG,MAMvC,CAAC;AAEF,mFAAmF;AACnF,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,8DAA8D;AAC9D,UAAU,mBAAmB;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,gBAAgB,EAAE,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzG;AAED;;;GAGG;AACH,QAAA,MAAM,qBAAqB,GACzB,OAAO,WAAW,EAClB,UAAU,MAAM,EAChB,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,iBAAiB,EAC3B,OAAO,mBAAmB,KACzB,OAAO,CAAC,cAAc,CAqIxB,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,GACxB,OAAO,WAAW,EAClB,UAAU,MAAM,EAChB,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,MAAM,EAClB,cAAc,MAAM,EACpB,QAAQ,eAAe,EACvB,OAAO,mBAAmB,KACzB,OAAO,CAAC,cAAc,CA8KxB,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC;AACpD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACrB,CAAC"}
1
+ {"version":3,"file":"mcp-tool-dispatch.d.ts","sourceRoot":"","sources":["../src/mcp-tool-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAWpC,OAAO,KAAK,EAAc,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAS9F;;;GAGG;AACH,QAAA,MAAM,cAAc,GAAI,KAAK,OAAO,EAAE,cAAS,KAAG,OASjD,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,qBAAqB,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAyB9F,CAAC;AAEF,sFAAsF;AACtF,QAAA,MAAM,cAAc,GAAI,KAAK,QAAQ,KAAG,MAMvC,CAAC;AAEF,mFAAmF;AACnF,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,8DAA8D;AAC9D,UAAU,mBAAmB;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,gBAAgB,EAAE,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzG;AAED,uEAAuE;AACvE,UAAU,iBAAiB;IACzB,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC;AAmED;;;GAGG;AACH,QAAA,MAAM,qBAAqB,GACzB,OAAO,WAAW,EAClB,UAAU,MAAM,EAChB,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,iBAAiB,EAC3B,OAAO,mBAAmB,EAC1B,WAAW,iBAAiB,KAC3B,OAAO,CAAC,cAAc,CA4DxB,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,GACxB,OAAO,WAAW,EAClB,UAAU,MAAM,EAChB,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,MAAM,EAClB,cAAc,MAAM,EACpB,QAAQ,eAAe,EACvB,OAAO,mBAAmB,EAC1B,WAAW,iBAAiB,KAC3B,OAAO,CAAC,cAAc,CAkMxB,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -6,15 +6,13 @@
6
6
  * mcp-setup.ts delegates to these functions after resolving the tool name.
7
7
  */
8
8
  import { toErrorMessage } from '@opentabs-dev/shared';
9
+ import { savePluginPermissions } from './config.js';
9
10
  import { dispatchToExtension, isDispatchError, sendConfirmationRequest, sendInvocationEnd, sendInvocationStart, } from './extension-protocol.js';
10
11
  import { log } from './logger.js';
11
- import { evaluatePermission } from './permissions.js';
12
12
  import { sanitizeErrorMessage } from './sanitize-error.js';
13
- import { appendAuditEntry, isBrowserToolEnabled, isSessionAllowed } from './state.js';
13
+ import { appendAuditEntry, getToolPermission } from './state.js';
14
14
  /** Maximum concurrent tool dispatches per plugin to prevent tab performance degradation */
15
15
  const MAX_CONCURRENT_DISPATCHES_PER_PLUGIN = 5;
16
- /** Short timeout for domain resolution — fail fast if the tab is unresponsive */
17
- const DOMAIN_RESOLVE_TIMEOUT_MS = 5_000;
18
16
  /** Keys that could trigger prototype pollution in JSON deserialization */
19
17
  const DANGEROUS_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
20
18
  /**
@@ -35,52 +33,6 @@ const sanitizeOutput = (obj, depth = 0) => {
35
33
  }
36
34
  return result;
37
35
  };
38
- /**
39
- * Extract the target domain hostname for a browser tool call.
40
- *
41
- * - Tools with a `url` param (get_cookies, set_cookie, delete_cookies, open_tab):
42
- * parse the hostname from the URL
43
- * - Tools with a `tabId` param: dispatch browser.getTabInfo to get the tab's URL,
44
- * then parse the hostname
45
- * - Tools with neither: return null (observe-tier tools, extension diagnostics)
46
- */
47
- const resolveToolDomain = async (_toolName, args, state) => {
48
- // URL-based tools: parse domain from the url parameter
49
- const urlArg = args.url;
50
- if (typeof urlArg === 'string' && urlArg !== '') {
51
- try {
52
- return new URL(urlArg).hostname;
53
- }
54
- catch {
55
- return null;
56
- }
57
- }
58
- // Tab-based tools: get the tab's URL via a lightweight dispatch
59
- const tabIdArg = args.tabId;
60
- if (typeof tabIdArg === 'number') {
61
- try {
62
- const tabInfo = (await dispatchToExtension(state, 'browser.getTabInfo', { tabId: tabIdArg }, { timeoutMs: DOMAIN_RESOLVE_TIMEOUT_MS }));
63
- if (typeof tabInfo.url === 'string' && tabInfo.url !== '') {
64
- return new URL(tabInfo.url).hostname;
65
- }
66
- }
67
- catch {
68
- // Tab may be closed or unreachable — domain resolution is best-effort
69
- }
70
- return null;
71
- }
72
- return null;
73
- };
74
- /**
75
- * Truncate tool parameters into a short preview for the confirmation dialog.
76
- * Shows the first ~200 characters of the JSON-stringified args.
77
- */
78
- const truncateParamsPreview = (args) => {
79
- const json = JSON.stringify(args, null, 2);
80
- if (json.length <= 200)
81
- return json;
82
- return `${json.slice(0, 200)}…`;
83
- };
84
36
  /**
85
37
  * Format a structured error response for MCP clients.
86
38
  *
@@ -124,97 +76,88 @@ const formatZodError = (err) => {
124
76
  return `Invalid arguments:\n${issues.join('\n')}`;
125
77
  };
126
78
  /**
127
- * Handle a browser tool call: Zod validation, permission evaluation,
128
- * confirmation flow, execution, output sanitization, and audit logging.
79
+ * Run the 'ask' confirmation flow for a tool call.
80
+ * Sends a confirmation request to the extension, waits for the user's decision,
81
+ * and persists the permission change if alwaysAllow is selected.
82
+ *
83
+ * @returns 'allow' if the user approved, or a ToolCallResult error if denied/failed.
129
84
  */
130
- const handleBrowserToolCall = async (state, toolName, args, cachedBt, extra) => {
131
- if (!isBrowserToolEnabled(state, toolName)) {
85
+ const runAskFlow = async (state, pluginName, toolName, params, extra, callbacks) => {
86
+ // Send MCP progress notification to let the agent know we're waiting for approval
87
+ const progressToken = extra._meta?.progressToken;
88
+ if (progressToken !== undefined) {
89
+ extra
90
+ .sendNotification({
91
+ method: 'notifications/progress',
92
+ params: {
93
+ progressToken,
94
+ progress: 0,
95
+ total: 1,
96
+ message: 'Waiting for user approval in the OpenTabs side panel',
97
+ },
98
+ })
99
+ .catch(() => {
100
+ // Fire-and-forget
101
+ });
102
+ }
103
+ let decision;
104
+ try {
105
+ decision = await sendConfirmationRequest(state, toolName, pluginName, params);
106
+ }
107
+ catch {
132
108
  return {
133
- content: [{ type: 'text', text: `Tool ${toolName} is disabled via configuration` }],
109
+ content: [
110
+ { type: 'text', text: `Tool ${toolName} requires approval but the extension is not connected.` },
111
+ ],
134
112
  isError: true,
135
113
  };
136
114
  }
137
- // Validate args through the tool's Zod input schema
138
- const parseResult = cachedBt.tool.input.safeParse(args);
139
- if (!parseResult.success) {
115
+ if (decision.action === 'deny') {
140
116
  return {
141
- content: [{ type: 'text', text: formatZodError(parseResult.error) }],
117
+ content: [{ type: 'text', text: `Tool ${toolName} was denied by the user.` }],
142
118
  isError: true,
143
119
  };
144
120
  }
145
- // Permission evaluation: resolve domain, check session permissions,
146
- // evaluate against policy, and hold for confirmation if needed.
147
- const parsedArgs = parseResult.data;
148
- const domain = await resolveToolDomain(toolName, parsedArgs, state);
149
- // Check session permissions first (set by previous "Allow Always" actions)
150
- const permission = isSessionAllowed(state.sessionPermissions, toolName, domain)
151
- ? 'allow'
152
- : evaluatePermission(toolName, domain, state);
153
- if (permission === 'deny') {
121
+ // User approved persist to 'auto' if alwaysAllow was selected
122
+ if (decision.alwaysAllow) {
123
+ const existing = state.pluginPermissions[pluginName];
124
+ const toolOverrides = { ...(existing?.tools ?? {}), [toolName]: 'auto' };
125
+ const updatedConfig = { ...existing, tools: toolOverrides };
126
+ state.pluginPermissions[pluginName] = updatedConfig;
127
+ void savePluginPermissions(state, state.pluginPermissions);
128
+ callbacks.onToolConfigChanged();
129
+ }
130
+ return 'allow';
131
+ };
132
+ /**
133
+ * Handle a browser tool call: permission check, Zod validation,
134
+ * confirmation flow (for 'ask'), execution, output sanitization, and audit logging.
135
+ */
136
+ const handleBrowserToolCall = async (state, toolName, args, cachedBt, extra, callbacks) => {
137
+ const permission = getToolPermission(state, 'browser', toolName);
138
+ if (permission === 'off') {
154
139
  return {
155
140
  content: [
156
141
  {
157
142
  type: 'text',
158
- text: `PERMISSION_DENIED: Tool "${toolName}" is denied${domain ? ` for domain "${domain}"` : ''} by permission policy. Ask the user to update their OpenTabs permission configuration if this tool is needed.`,
143
+ text: `Tool ${toolName} is currently disabled. Ask the user to enable it in the OpenTabs side panel.`,
159
144
  },
160
145
  ],
161
146
  isError: true,
162
147
  };
163
148
  }
164
149
  if (permission === 'ask') {
165
- // Send progress notification to MCP client (if progressToken is available)
166
- const progressToken = extra._meta?.progressToken;
167
- if (progressToken !== undefined) {
168
- extra
169
- .sendNotification({
170
- method: 'notifications/progress',
171
- params: {
172
- progressToken,
173
- progress: 0,
174
- total: 1,
175
- message: 'Waiting for human approval in the OpenTabs side panel...',
176
- },
177
- })
178
- .catch(() => {
179
- // Fire-and-forget
180
- });
181
- }
182
- try {
183
- const paramsPreview = truncateParamsPreview(parsedArgs);
184
- const tabIdArg = parsedArgs.tabId;
185
- const decision = await sendConfirmationRequest(state, toolName, domain, typeof tabIdArg === 'number' ? tabIdArg : undefined, paramsPreview);
186
- if (decision === 'deny') {
187
- return {
188
- content: [
189
- {
190
- type: 'text',
191
- text: `PERMISSION_DENIED: The user denied "${toolName}"${domain ? ` on "${domain}"` : ''}. Inform the user that the operation was blocked by their decision.`,
192
- },
193
- ],
194
- isError: true,
195
- };
196
- }
197
- // decision is 'allow_once' or 'allow_always' — proceed with dispatch
198
- // (allow_always session rules are handled by handleConfirmationResponse in extension-protocol)
199
- }
200
- catch (err) {
201
- const msg = toErrorMessage(err);
202
- if (msg === 'CONFIRMATION_TIMEOUT') {
203
- return {
204
- content: [
205
- {
206
- type: 'text',
207
- text: `CONFIRMATION_TIMEOUT: Human approval for "${toolName}"${domain ? ` on "${domain}"` : ''} timed out after 30 seconds. The user did not respond in the OpenTabs side panel. Ask the user to try again.`,
208
- },
209
- ],
210
- isError: true,
211
- };
212
- }
213
- return {
214
- content: [{ type: 'text', text: `Confirmation error: ${msg}` }],
215
- isError: true,
216
- };
217
- }
150
+ const askResult = await runAskFlow(state, 'browser', toolName, args, extra, callbacks);
151
+ if (askResult !== 'allow')
152
+ return askResult;
153
+ }
154
+ // Validate args through the tool's Zod input schema
155
+ const parseResult = cachedBt.tool.input.safeParse(args);
156
+ if (!parseResult.success) {
157
+ return {
158
+ content: [{ type: 'text', text: formatZodError(parseResult.error) }],
159
+ isError: true,
160
+ };
218
161
  }
219
162
  // Send invocation start notification to extension (for side panel activity indicator)
220
163
  sendInvocationStart(state, 'browser', toolName);
@@ -251,12 +194,30 @@ const handleBrowserToolCall = async (state, toolName, args, cachedBt, extra) =>
251
194
  }
252
195
  };
253
196
  /**
254
- * Handle a plugin tool call: Ajv validation, concurrency limiting,
197
+ * Handle a plugin tool call: permission check, Ajv validation, concurrency limiting,
255
198
  * dispatch to extension, error formatting, and audit logging.
256
199
  *
257
200
  * The caller must have already verified the tool is callable via checkToolCallable.
258
201
  */
259
- const handlePluginToolCall = async (state, toolName, args, pluginName, toolBaseName, lookup, extra) => {
202
+ const handlePluginToolCall = async (state, toolName, args, pluginName, toolBaseName, lookup, extra, callbacks) => {
203
+ // Permission check — applies to all plugin tools
204
+ const permission = getToolPermission(state, pluginName, toolBaseName);
205
+ if (permission === 'off') {
206
+ return {
207
+ content: [
208
+ {
209
+ type: 'text',
210
+ text: `Tool ${toolName} is currently disabled. Ask the user to enable it in the OpenTabs side panel.`,
211
+ },
212
+ ],
213
+ isError: true,
214
+ };
215
+ }
216
+ if (permission === 'ask') {
217
+ const askResult = await runAskFlow(state, pluginName, toolBaseName, args, extra, callbacks);
218
+ if (askResult !== 'allow')
219
+ return askResult;
220
+ }
260
221
  // Extract platform-injected tabId before validation — the plugin's own
261
222
  // schema doesn't know about tabId, so it must be stripped before Ajv runs
262
223
  // (otherwise plugins with additionalProperties: false would reject it).
@@ -418,5 +379,5 @@ const handlePluginToolCall = async (state, toolName, args, pluginName, toolBaseN
418
379
  });
419
380
  }
420
381
  };
421
- export { sanitizeOutput, formatStructuredError, formatZodError, truncateParamsPreview, handleBrowserToolCall, handlePluginToolCall, };
382
+ export { sanitizeOutput, formatStructuredError, formatZodError, handleBrowserToolCall, handlePluginToolCall };
422
383
  //# sourceMappingURL=mcp-tool-dispatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-dispatch.js","sourceRoot":"","sources":["../src/mcp-tool-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtF,2FAA2F;AAC3F,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAE/C,iFAAiF;AACjF,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAExC,0EAA0E;AAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAE1E;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,KAAK,GAAG,CAAC,EAAW,EAAE;IAC1D,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC7E,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,mBAAmB,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QAC1E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,KAAK,EAC7B,SAAiB,EACjB,IAA6B,EAC7B,KAAkB,EACM,EAAE;IAC1B,uDAAuD;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;IACxB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,MAAM,mBAAmB,CACxC,KAAK,EACL,oBAAoB,EACpB,EAAE,KAAK,EAAE,QAAQ,EAAE,EACnB,EAAE,SAAS,EAAE,yBAAyB,EAAE,CACzC,CAEA,CAAC;YACF,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;gBAC1D,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC,IAA6B,EAAU,EAAE;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;AAClC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,IAA8B,EAAU,EAAE;IACtG,MAAM,QAAQ,GAAG,OAAO,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,SAAS,GAAG,OAAO,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,MAAM,YAAY,GAAG,OAAO,IAAI,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,MAAM,mBAAmB,GAAG,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC;IAE5G,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,2DAA2D;IAC3D,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC/D,IAAI,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1E,IAAI,YAAY,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;IAEvD,iEAAiE;IACjE,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,CAAC;IAClD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACxD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3D,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;IAEpE,OAAO,GAAG,MAAM,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;AACvE,CAAC,CAAC;AAEF,sFAAsF;AACtF,MAAM,cAAc,GAAG,CAAC,GAAa,EAAU,EAAE;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrE,OAAO,OAAO,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACpD,CAAC,CAAC;AAgBF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,KAAK,EACjC,KAAkB,EAClB,QAAgB,EAChB,IAA6B,EAC7B,QAA2B,EAC3B,KAA0B,EACD,EAAE;IAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,QAAQ,gCAAgC,EAAE,CAAC;YAC5F,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,gEAAgE;IAChE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAEpE,2EAA2E;IAC3E,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC;QAC7E,CAAC,CAAE,OAAiB;QACpB,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,4BAA4B,QAAQ,cAAc,MAAM,CAAC,CAAC,CAAC,gBAAgB,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,+GAA+G;iBAC/M;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,2EAA2E;QAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC;QACjD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK;iBACF,gBAAgB,CAAC;gBAChB,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE;oBACN,aAAa;oBACb,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,0DAA0D;iBACpE;aACF,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,kBAAkB;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;YAClC,MAAM,QAAQ,GAAyB,MAAM,uBAAuB,CAClE,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACnD,aAAa,CACd,CAAC;YAEF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,uCAAuC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,qEAAqE;yBAC9J;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,qEAAqE;YACrE,+FAA+F;QACjG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;gBACnC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,6CAA6C,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,8GAA8G;yBAC7M;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uBAAuB,GAAG,EAAE,EAAE,CAAC;gBACxE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,WAA4C,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,SAAS,GAAG,KAAK,CAAC;QAClB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,WAAW,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAChD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uBAAuB,GAAG,EAAE,EAAE,CAAC;YACxE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC5C,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACvE,gBAAgB,CAAC,KAAK,EAAE;YACtB,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YAC5C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,YAAY;YACxB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,KAAK,EAChC,KAAkB,EAClB,QAAgB,EAChB,IAA6B,EAC7B,UAAkB,EAClB,YAAoB,EACpB,MAAuB,EACvB,KAA0B,EACD,EAAE;IAC3B,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhH,mEAAmE;IACnE,mEAAmE;IACnE,uEAAuE;IACvE,0CAA0C;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,QAAQ,kDAAkD,MAAM,CAAC,gBAAgB,EAAE,EAAE;iBACrG;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,kEAAkE;IAClE,6DAA6D;IAC7D,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,qCAAqC,QAAQ,IAAI,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,QAAQ,qEAAqE;iBAC7F;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,+BAA+B,QAAQ,OAAO,MAAM,CAAC,gBAAgB,EAAE,EAAE;iBAChF;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;IAEtD,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,iBAAiB,IAAI,oCAAoC,EAAE,CAAC;QAC9D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,8CAA8C,UAAU,aAAa,oCAAoC,6CAA6C;iBAC7J;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,SAA0C,CAAC;IAE/C,IAAI,CAAC;QACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,kFAAkF;qBACzF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QAErE,6EAA6E;QAC7E,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC;QACjD,MAAM,UAAU,GACd,aAAa,KAAK,SAAS;YACzB,CAAC,CAAC,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAgB,EAAE,EAAE;gBACpD,MAAM,MAAM,GAA4B,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC3E,IAAI,OAAO,KAAK,SAAS;oBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC9E,gFAAgF;gBAClF,CAAC,CAAC,CAAC;YACL,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,KAAK,EACL,eAAe,EACf,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EACpG,EAAE,KAAK,EAAE,GAAG,UAAU,IAAI,YAAY,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CACtE,CAAC;QACF,MAAM,SAAS,GAAI,MAAkC,CAAC,MAAM,IAAI,MAAM,CAAC;QACvE,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,KAAK,CAAC;QAEhB,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACtB,IAAI,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;YAE3B,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACpB,QAAQ,GAAG,eAAe,QAAQ,EAAE,CAAC;YACvC,CAAC;iBAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3B,QAAQ,GAAG,oBAAoB,QAAQ,EAAE,CAAC;YAC5C,CAAC;YAED,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;YACrC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACtC,QAAQ,GAAG,qBAAqB,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpE,SAAS,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YAC3D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACpD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,oBAAoB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,GAAG,EAAE,EAAE,CAAC;YACzE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;QACxC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,UAAU,IAAI,YAAY,EAAE,EAAE,cAAc,EAAE,GAAG,UAAU,IAAI,CAAC,CAAC;QAC5F,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACxE,gBAAgB,CAAC,KAAK,EAAE;YACtB,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YAC1C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,UAAU;YAClB,OAAO;YACP,UAAU;YACV,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAGF,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACrB,CAAC"}
1
+ {"version":3,"file":"mcp-tool-dispatch.js","sourceRoot":"","sources":["../src/mcp-tool-dispatch.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ interface PluginSearchResult {
12
12
  description: string;
13
13
  version: string;
14
14
  author: string;
15
- isOfficial: boolean;
16
15
  }
17
16
  interface PluginInstallResult {
18
17
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-management.d.ts","sourceRoot":"","sources":["../src/plugin-management.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAIL,wBAAwB,EACxB,mBAAmB,EAIpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMhE,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD,UAAU,mBAAmB;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAYD,0FAA0F;AAC1F,QAAA,MAAM,eAAe,QAAmB,CAAC;AAEzC,oFAAoF;AACpF,QAAA,MAAM,UAAU,GACd,KAAK,MAAM,EACX,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAuC5F,CAAC;AAuDF;;;;;;GAMG;AACH,QAAA,MAAM,gBAAgB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,kBAAkB,EAAE,CA0C5E,CAAC;AAMF;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,aAAa,GACjB,MAAM,MAAM,EACZ,OAAO,WAAW,EAClB,UAAU,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,KAC/D,OAAO,CAAC,mBAAmB,CA4C7B,CAAC;AAMF;;GAEG;AACH,UAAU,kBAAkB;IAC1B,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;;GAMG;AACH,QAAA,MAAM,UAAU,GAAI,OAAO,WAAW,EAAE,MAAM,MAAM,KAAG,gBAAgB,GAAG,SAYzE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,YAAY,GAChB,MAAM,MAAM,EACZ,OAAO,WAAW,EAClB,UAAU,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,KAC/D,OAAO,CAAC,kBAAkB,CAkC5B,CAAC;AA6FF;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,YAAY,GAChB,MAAM,MAAM,EACZ,OAAO,WAAW,EAClB,UAAU,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,KAC/D,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CA8BtB,CAAC;AAMF;;GAEG;AACH,UAAU,kBAAkB;IAC1B,eAAe,EAAE,KAAK,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAED;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GAAU,OAAO,WAAW,KAAG,OAAO,CAAC,kBAAkB,CAIhF,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAChG,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,UAAU,GACX,CAAC"}
1
+ {"version":3,"file":"plugin-management.d.ts","sourceRoot":"","sources":["../src/plugin-management.ts"],"names":[],"mappings":"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"}