@opentabs-dev/mcp-server 0.0.22 → 0.0.24

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 (94) hide show
  1. package/dist/adapter-files.d.ts +53 -0
  2. package/dist/adapter-files.d.ts.map +1 -0
  3. package/dist/adapter-files.js +176 -0
  4. package/dist/adapter-files.js.map +1 -0
  5. package/dist/audit-disk.d.ts.map +1 -1
  6. package/dist/audit-disk.js +5 -6
  7. package/dist/audit-disk.js.map +1 -1
  8. package/dist/browser-tool-names.d.ts +14 -0
  9. package/dist/browser-tool-names.d.ts.map +1 -0
  10. package/dist/browser-tool-names.js +52 -0
  11. package/dist/browser-tool-names.js.map +1 -0
  12. package/dist/browser-tools/analyze-site/detect-auth.d.ts.map +1 -1
  13. package/dist/browser-tools/analyze-site/detect-auth.js +2 -1
  14. package/dist/browser-tools/analyze-site/detect-auth.js.map +1 -1
  15. package/dist/browser-tools/analyze-site/index.d.ts.map +1 -1
  16. package/dist/browser-tools/analyze-site/index.js +111 -15
  17. package/dist/browser-tools/analyze-site/index.js.map +1 -1
  18. package/dist/browser-tools/execute-script.js +1 -1
  19. package/dist/browser-tools/execute-script.js.map +1 -1
  20. package/dist/browser-tools/extension-get-logs.d.ts +2 -2
  21. package/dist/browser-tools/focus-tab.js +1 -1
  22. package/dist/browser-tools/focus-tab.js.map +1 -1
  23. package/dist/browser-tools/get-console-logs.d.ts +2 -2
  24. package/dist/browser-tools/index.d.ts +4 -0
  25. package/dist/browser-tools/index.d.ts.map +1 -1
  26. package/dist/browser-tools/index.js +19 -0
  27. package/dist/browser-tools/index.js.map +1 -1
  28. package/dist/browser-tools/select-option.d.ts.map +1 -1
  29. package/dist/browser-tools/select-option.js +11 -6
  30. package/dist/browser-tools/select-option.js.map +1 -1
  31. package/dist/config.d.ts +13 -16
  32. package/dist/config.d.ts.map +1 -1
  33. package/dist/config.js +43 -109
  34. package/dist/config.js.map +1 -1
  35. package/dist/discovery.d.ts.map +1 -1
  36. package/dist/discovery.js +9 -12
  37. package/dist/discovery.js.map +1 -1
  38. package/dist/extension-handlers.d.ts +102 -0
  39. package/dist/extension-handlers.d.ts.map +1 -0
  40. package/dist/extension-handlers.js +443 -0
  41. package/dist/extension-handlers.js.map +1 -0
  42. package/dist/extension-protocol.d.ts +6 -38
  43. package/dist/extension-protocol.d.ts.map +1 -1
  44. package/dist/extension-protocol.js +47 -535
  45. package/dist/extension-protocol.js.map +1 -1
  46. package/dist/file-watcher.d.ts.map +1 -1
  47. package/dist/file-watcher.js +106 -104
  48. package/dist/file-watcher.js.map +1 -1
  49. package/dist/http-routes.d.ts +9 -7
  50. package/dist/http-routes.d.ts.map +1 -1
  51. package/dist/http-routes.js +275 -265
  52. package/dist/http-routes.js.map +1 -1
  53. package/dist/index.js +17 -10
  54. package/dist/index.js.map +1 -1
  55. package/dist/loader.d.ts +14 -3
  56. package/dist/loader.d.ts.map +1 -1
  57. package/dist/loader.js +42 -22
  58. package/dist/loader.js.map +1 -1
  59. package/dist/log-buffer.d.ts.map +1 -1
  60. package/dist/log-buffer.js +17 -6
  61. package/dist/log-buffer.js.map +1 -1
  62. package/dist/logger.d.ts.map +1 -1
  63. package/dist/logger.js +5 -2
  64. package/dist/logger.js.map +1 -1
  65. package/dist/mcp-setup.d.ts +3 -18
  66. package/dist/mcp-setup.d.ts.map +1 -1
  67. package/dist/mcp-setup.js +13 -407
  68. package/dist/mcp-setup.js.map +1 -1
  69. package/dist/mcp-tool-dispatch.d.ts +51 -0
  70. package/dist/mcp-tool-dispatch.d.ts.map +1 -0
  71. package/dist/mcp-tool-dispatch.js +410 -0
  72. package/dist/mcp-tool-dispatch.js.map +1 -0
  73. package/dist/plugin-management.d.ts +123 -0
  74. package/dist/plugin-management.d.ts.map +1 -0
  75. package/dist/plugin-management.js +340 -0
  76. package/dist/plugin-management.js.map +1 -0
  77. package/dist/registry.d.ts +2 -13
  78. package/dist/registry.d.ts.map +1 -1
  79. package/dist/registry.js +2 -24
  80. package/dist/registry.js.map +1 -1
  81. package/dist/reload.d.ts.map +1 -1
  82. package/dist/reload.js +13 -2
  83. package/dist/reload.js.map +1 -1
  84. package/dist/resolver.d.ts.map +1 -1
  85. package/dist/resolver.js +33 -25
  86. package/dist/resolver.js.map +1 -1
  87. package/dist/state.d.ts +30 -21
  88. package/dist/state.d.ts.map +1 -1
  89. package/dist/state.js +14 -10
  90. package/dist/state.js.map +1 -1
  91. package/dist/version-check.d.ts.map +1 -1
  92. package/dist/version-check.js +36 -14
  93. package/dist/version-check.js.map +1 -1
  94. package/package.json +2 -2
@@ -1,26 +1,14 @@
1
1
  /**
2
2
  * Extension WebSocket protocol handler.
3
- * Handles JSON-RPC messages between the MCP server and Chrome extension.
3
+ * Handles JSON-RPC dispatch mechanics and message routing between the MCP
4
+ * server and Chrome extension. Individual message handlers live in
5
+ * extension-handlers.ts.
4
6
  */
5
- import type { PluginLogEntry } from './log-buffer.js';
7
+ import { writeAdapterFile, writeExecFile, deleteExecFile, cleanupStaleExecFiles } from './adapter-files.js';
8
+ import { rejectAllPendingConfirmations } from './extension-handlers.js';
9
+ import type { McpCallbacks } from './extension-handlers.js';
6
10
  import type { ServerState, ConfirmationDecision } from './state.js';
7
11
  import type { WsHandle } from '@opentabs-dev/shared';
8
- /** Callbacks the extension protocol can invoke on the MCP side */
9
- interface McpCallbacks {
10
- onToolConfigChanged: () => void;
11
- onToolConfigPersist: () => void;
12
- onPluginLog: (entry: PluginLogEntry) => void;
13
- }
14
- /**
15
- * Write a plugin's adapter IIFE to the extension's adapters/ directory.
16
- * The extension injects adapters via chrome.scripting.executeScript({ files: [...] })
17
- * using these files, bypassing page CSP restrictions.
18
- *
19
- * If a source map is provided, writes it alongside the adapter as {pluginName}.js.map
20
- * and rewrites the sourceMappingURL in the IIFE to reference the per-plugin filename
21
- * (prevents collisions when multiple plugins are loaded).
22
- */
23
- declare const writeAdapterFile: (pluginName: string, iife: string, sourceMap?: string) => Promise<void>;
24
12
  /**
25
13
  * Send sync.full notification to extension on connect.
26
14
  * Writes all plugin adapter IIFEs to the extension's adapters/ directory,
@@ -62,11 +50,6 @@ declare const sendInvocationEnd: (state: ServerState, plugin: string, tool: stri
62
50
  * @returns The user's decision: 'allow_once', 'allow_always', or 'deny'
63
51
  */
64
52
  declare const sendConfirmationRequest: (state: ServerState, tool: string, domain: string | null, tabId: number | undefined, paramsPreview: string) => Promise<ConfirmationDecision>;
65
- /**
66
- * Reject all pending confirmations. Called when the extension disconnects
67
- * to clean up any confirmation promises that can no longer be fulfilled.
68
- */
69
- declare const rejectAllPendingConfirmations: (state: ServerState) => void;
70
53
  /**
71
54
  * Send plugin.update notification to extension with updated plugin metadata.
72
55
  * Writes the adapter IIFE to the extension's adapters/ directory first,
@@ -104,21 +87,6 @@ declare const isDispatchError: (err: unknown) => err is {
104
87
  code: number;
105
88
  data?: Record<string, unknown>;
106
89
  };
107
- /**
108
- * Write a dynamic exec script to the adapters/ directory.
109
- * Wraps the user's code in an IIFE that captures the result (sync or async)
110
- * into globalThis.__openTabs.__lastExecResult for the extension to read back.
111
- *
112
- * Returns the filename (relative to adapters/) for the extension to inject.
113
- */
114
- declare const writeExecFile: (execId: string, code: string) => Promise<string>;
115
- /** Delete a dynamic exec script file. Fire-and-forget — logs on failure. */
116
- declare const deleteExecFile: (filename: string) => Promise<void>;
117
- /**
118
- * Remove stale __exec-*.js files from the adapters directory.
119
- * Called on server startup to clean up leftovers from crashed sessions.
120
- */
121
- declare const cleanupStaleExecFiles: () => Promise<void>;
122
90
  /**
123
91
  * Send extension.reload JSON-RPC request to trigger chrome.runtime.reload()
124
92
  * in the connected extension. Used when the server detects that the managed
@@ -1 +1 @@
1
- {"version":3,"file":"extension-protocol.d.ts","sourceRoot":"","sources":["../src/extension-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-protocol.d.ts","sourceRoot":"","sources":["../src/extension-protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,gBAAgB,EAEhB,aAAa,EACb,cAAc,EACd,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAiBL,6BAA6B,EAC9B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAmB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAuC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAK1F;;;;GAIG;AACH,QAAA,MAAM,YAAY,GAAU,OAAO,WAAW,KAAG,OAAO,CAAC,IAAI,CAyC5D,CAAC;AAEF,uEAAuE;AACvE,UAAU,eAAe;IACvB,8GAA8G;IAC9G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gHAAgH;IAChH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,gGAAgG;IAChG,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1E;AAED;;;;GAIG;AACH,QAAA,MAAM,mBAAmB,GACvB,OAAO,WAAW,EAClB,QAAQ,MAAM,EACd,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,MAAM,GAAG,eAAe,KACjC,OAAO,CAAC,OAAO,CAiDjB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,mBAAmB,GAAI,OAAO,WAAW,EAAE,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,IAM/E,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,iBAAiB,GACrB,OAAO,WAAW,EAClB,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,YAAY,MAAM,EAClB,SAAS,OAAO,KACf,IAMF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,uBAAuB,GAC3B,OAAO,WAAW,EAClB,MAAM,MAAM,EACZ,QAAQ,MAAM,GAAG,IAAI,EACrB,OAAO,MAAM,GAAG,SAAS,EACzB,eAAe,MAAM,KACpB,OAAO,CAAC,oBAAoB,CAqC9B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,gBAAgB,GACpB,OAAO,WAAW,EAClB,YAAY,MAAM,EAClB,MAAM,MAAM,EACZ,YAAY,MAAM,KACjB,OAAO,CAAC,IAAI,CAiBd,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,sBAAsB,GAC1B,OAAO,WAAW,EAClB,MAAM,MAAM,EACZ,WAAW,YAAY,EACvB,WAAW,QAAQ,KAClB,IAoJF,CAAC;AAsBF;;;;;;;;;GASG;AACH,QAAA,MAAM,eAAe,GACnB,KAAK,OAAO,KACX,GAAG,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAKlC,CAAC;AAEtD;;;;GAIG;AACH,QAAA,MAAM,mBAAmB,GAAI,OAAO,WAAW,KAAG,OAOjD,CAAC;AAEF,YAAY,EAAE,YAAY,EAAE,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,CAAC"}