@opentabs-dev/mcp-server 0.0.34 → 0.0.36

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 (142) hide show
  1. package/dist/adapter-files.d.ts +4 -2
  2. package/dist/adapter-files.d.ts.map +1 -1
  3. package/dist/adapter-files.js +39 -24
  4. package/dist/adapter-files.js.map +1 -1
  5. package/dist/audit-disk.d.ts +2 -2
  6. package/dist/audit-disk.d.ts.map +1 -1
  7. package/dist/audit-disk.js +19 -8
  8. package/dist/audit-disk.js.map +1 -1
  9. package/dist/browser-tool-names.d.ts.map +1 -1
  10. package/dist/browser-tool-names.js +2 -0
  11. package/dist/browser-tool-names.js.map +1 -1
  12. package/dist/browser-tools/analyze-site/detect-apis.d.ts +16 -4
  13. package/dist/browser-tools/analyze-site/detect-apis.d.ts.map +1 -1
  14. package/dist/browser-tools/analyze-site/detect-apis.js +65 -8
  15. package/dist/browser-tools/analyze-site/detect-apis.js.map +1 -1
  16. package/dist/browser-tools/analyze-site/detect-auth.d.ts.map +1 -1
  17. package/dist/browser-tools/analyze-site/detect-auth.js +10 -5
  18. package/dist/browser-tools/analyze-site/detect-auth.js.map +1 -1
  19. package/dist/browser-tools/analyze-site/detect-framework.d.ts +10 -1
  20. package/dist/browser-tools/analyze-site/detect-framework.d.ts.map +1 -1
  21. package/dist/browser-tools/analyze-site/detect-framework.js +19 -1
  22. package/dist/browser-tools/analyze-site/detect-framework.js.map +1 -1
  23. package/dist/browser-tools/analyze-site/index.d.ts +37 -8
  24. package/dist/browser-tools/analyze-site/index.d.ts.map +1 -1
  25. package/dist/browser-tools/analyze-site/index.js +79 -43
  26. package/dist/browser-tools/analyze-site/index.js.map +1 -1
  27. package/dist/browser-tools/analyze-site.d.ts.map +1 -1
  28. package/dist/browser-tools/analyze-site.js +9 -8
  29. package/dist/browser-tools/analyze-site.js.map +1 -1
  30. package/dist/browser-tools/disable-network-capture.d.ts.map +1 -1
  31. package/dist/browser-tools/disable-network-capture.js +8 -1
  32. package/dist/browser-tools/disable-network-capture.js.map +1 -1
  33. package/dist/browser-tools/enable-network-capture.d.ts +1 -0
  34. package/dist/browser-tools/enable-network-capture.d.ts.map +1 -1
  35. package/dist/browser-tools/enable-network-capture.js +20 -8
  36. package/dist/browser-tools/enable-network-capture.js.map +1 -1
  37. package/dist/browser-tools/execute-script.d.ts +3 -3
  38. package/dist/browser-tools/execute-script.d.ts.map +1 -1
  39. package/dist/browser-tools/execute-script.js +9 -4
  40. package/dist/browser-tools/execute-script.js.map +1 -1
  41. package/dist/browser-tools/export-har.d.ts +15 -0
  42. package/dist/browser-tools/export-har.d.ts.map +1 -0
  43. package/dist/browser-tools/export-har.js +196 -0
  44. package/dist/browser-tools/export-har.js.map +1 -0
  45. package/dist/browser-tools/extension-get-logs.d.ts +2 -2
  46. package/dist/browser-tools/get-console-logs.d.ts +2 -2
  47. package/dist/browser-tools/get-websocket-frames.d.ts +10 -0
  48. package/dist/browser-tools/get-websocket-frames.d.ts.map +1 -0
  49. package/dist/browser-tools/get-websocket-frames.js +27 -0
  50. package/dist/browser-tools/get-websocket-frames.js.map +1 -0
  51. package/dist/browser-tools/index.d.ts.map +1 -1
  52. package/dist/browser-tools/index.js +4 -0
  53. package/dist/browser-tools/index.js.map +1 -1
  54. package/dist/browser-tools/reload-extension.d.ts.map +1 -1
  55. package/dist/browser-tools/reload-extension.js +1 -3
  56. package/dist/browser-tools/reload-extension.js.map +1 -1
  57. package/dist/config.d.ts +1 -1
  58. package/dist/config.d.ts.map +1 -1
  59. package/dist/config.js +13 -18
  60. package/dist/config.js.map +1 -1
  61. package/dist/dev-proxy.d.ts +12 -0
  62. package/dist/dev-proxy.d.ts.map +1 -0
  63. package/dist/dev-proxy.js +229 -0
  64. package/dist/dev-proxy.js.map +1 -0
  65. package/dist/discovery.d.ts.map +1 -1
  66. package/dist/discovery.js +6 -1
  67. package/dist/discovery.js.map +1 -1
  68. package/dist/extension-handlers.d.ts +1 -1
  69. package/dist/extension-handlers.d.ts.map +1 -1
  70. package/dist/extension-handlers.js +3 -4
  71. package/dist/extension-handlers.js.map +1 -1
  72. package/dist/extension-protocol.d.ts +4 -2
  73. package/dist/extension-protocol.d.ts.map +1 -1
  74. package/dist/extension-protocol.js +16 -15
  75. package/dist/extension-protocol.js.map +1 -1
  76. package/dist/file-watcher.d.ts +1 -1
  77. package/dist/file-watcher.d.ts.map +1 -1
  78. package/dist/file-watcher.js +48 -16
  79. package/dist/file-watcher.js.map +1 -1
  80. package/dist/http-routes.d.ts +3 -2
  81. package/dist/http-routes.d.ts.map +1 -1
  82. package/dist/http-routes.js +34 -13
  83. package/dist/http-routes.js.map +1 -1
  84. package/dist/index.d.ts +12 -22
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +20 -54
  87. package/dist/index.js.map +1 -1
  88. package/dist/loader.d.ts.map +1 -1
  89. package/dist/loader.js +12 -10
  90. package/dist/loader.js.map +1 -1
  91. package/dist/log-buffer.d.ts +3 -1
  92. package/dist/log-buffer.d.ts.map +1 -1
  93. package/dist/log-buffer.js +12 -3
  94. package/dist/log-buffer.js.map +1 -1
  95. package/dist/logger.js +1 -1
  96. package/dist/logger.js.map +1 -1
  97. package/dist/mcp-setup.d.ts +1 -1
  98. package/dist/mcp-setup.js +2 -2
  99. package/dist/mcp-tool-dispatch.d.ts +14 -1
  100. package/dist/mcp-tool-dispatch.d.ts.map +1 -1
  101. package/dist/mcp-tool-dispatch.js +4 -2
  102. package/dist/mcp-tool-dispatch.js.map +1 -1
  103. package/dist/permissions.d.ts.map +1 -1
  104. package/dist/permissions.js +5 -3
  105. package/dist/permissions.js.map +1 -1
  106. package/dist/plugin-management.d.ts +1 -1
  107. package/dist/plugin-management.d.ts.map +1 -1
  108. package/dist/plugin-management.js +46 -29
  109. package/dist/plugin-management.js.map +1 -1
  110. package/dist/registry.js +5 -5
  111. package/dist/registry.js.map +1 -1
  112. package/dist/reload.d.ts +7 -8
  113. package/dist/reload.d.ts.map +1 -1
  114. package/dist/reload.js +83 -40
  115. package/dist/reload.js.map +1 -1
  116. package/dist/resolver.d.ts +3 -3
  117. package/dist/resolver.d.ts.map +1 -1
  118. package/dist/resolver.js +11 -26
  119. package/dist/resolver.js.map +1 -1
  120. package/dist/sanitize-error.d.ts.map +1 -1
  121. package/dist/sanitize-error.js +12 -6
  122. package/dist/sanitize-error.js.map +1 -1
  123. package/dist/sdk-version.d.ts.map +1 -1
  124. package/dist/sdk-version.js +2 -2
  125. package/dist/sdk-version.js.map +1 -1
  126. package/dist/server-node.d.ts +9 -13
  127. package/dist/server-node.d.ts.map +1 -1
  128. package/dist/server-node.js +55 -18
  129. package/dist/server-node.js.map +1 -1
  130. package/dist/shutdown.d.ts +7 -6
  131. package/dist/shutdown.d.ts.map +1 -1
  132. package/dist/shutdown.js +14 -10
  133. package/dist/shutdown.js.map +1 -1
  134. package/dist/state.d.ts +12 -3
  135. package/dist/state.d.ts.map +1 -1
  136. package/dist/state.js +22 -7
  137. package/dist/state.js.map +1 -1
  138. package/dist/version-check.d.ts +6 -4
  139. package/dist/version-check.d.ts.map +1 -1
  140. package/dist/version-check.js +42 -13
  141. package/dist/version-check.js.map +1 -1
  142. package/package.json +6 -7
package/dist/state.d.ts CHANGED
@@ -4,12 +4,18 @@
4
4
  *
5
5
  * Fields that must survive hot reload (file watcher handles, timers) are stored
6
6
  * here rather than at module scope, because module-level variables reset to
7
- * fresh empty instances on each bun --hot re-evaluation.
7
+ * fresh empty instances on each hot reload re-evaluation.
8
8
  */
9
9
  import type { BrowserToolDefinition } from './browser-tools/definition.js';
10
10
  import type { PermissionsConfig } from './config.js';
11
11
  import type { TabState, TrustTier, ManifestTool, ManifestResource, ManifestPrompt, WsHandle } from '@opentabs-dev/shared';
12
12
  import type { FSWatcher } from 'node:fs';
13
+ /**
14
+ * Overrides the mutating methods of an existing Map to throw TypeError, preventing
15
+ * accidental mutation after the registry is built.
16
+ * Object.freeze alone does not block Map.prototype.set (it accesses internal slots).
17
+ */
18
+ export declare const freezeRegistryMap: <K, V>(map: Map<K, V>) => ReadonlyMap<K, V>;
13
19
  /** Timeout for tool dispatch and browser command requests (ms) */
14
20
  export declare const DISPATCH_TIMEOUT_MS = 30000;
15
21
  /** Absolute upper bound for a single dispatch, even with continuous progress (5 minutes) */
@@ -19,8 +25,9 @@ export interface FileWatcherEntry {
19
25
  pluginDir: string;
20
26
  pluginName: string;
21
27
  watchers: FSWatcher[];
22
- /** Last-seen mtime (ms) for each watched file path — used by mtime polling fallback */
23
- lastSeenMtimes: Map<string, number>;
28
+ /** Last-seen mtime (ms) for each watched file path — used by mtime polling fallback.
29
+ * null means the file did not exist when last recorded (sentinel for detecting creation). */
30
+ lastSeenMtimes: Map<string, number | null>;
24
31
  }
25
32
  /** Grouped state for file watching (plugin watchers, config watcher, mtime polling) */
26
33
  export interface FileWatchingState {
@@ -270,6 +277,8 @@ export interface ServerState {
270
277
  endpointCallTimestamps: Map<string, number[]>;
271
278
  /** Whether the extension adapters/ directory has been created (cached to avoid repeated mkdir calls) */
272
279
  adaptersDirReady: boolean;
280
+ /** Set of tab IDs that currently have active network capture (browser_enable_network_capture called, not yet disabled) */
281
+ activeNetworkCaptures: Set<number>;
273
282
  }
274
283
  /** Increment when changing the type of an existing ServerState field */
275
284
  export declare const STATE_SCHEMA_VERSION = 4;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAQxE,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB;iGAC6F;IAC7F,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C;AAED,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,gHAAgH;IAChH,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,kFAAkF;IAClF,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;IACnD;;wFAEoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,uFAAuF;IACvF,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,wEAAwE;IACxE,gBAAgB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;IACxD,mGAAmG;IACnG,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kFAAkF;IAClF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mGAAmG;IACnG,4BAA4B,EAAE,MAAM,EAAE,CAAC;CACxC;AAED,iHAAiH;AACjH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAE3C,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,qGAAqG;IACrG,MAAM,EAAE,YAAY,CAAC;IACrB,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0GAA0G;IAC1G,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2GAA2G;IAC3G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qCAAqC;AACrC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,wGAAwG;IACxG,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACvC,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,yGAAyG;IACzG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,MAAM,CAAC;CAChC;AAED,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxD,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1D,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAClE,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC9D,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAED,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC;AAE1E,mDAAmD;AACnD,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,UAAU,GAAG,YAAY,CAAC;AAE1E,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAED,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,EAAE,EAAE,UAAU,MAAM,EAAE,QAAQ,MAAM,GAAG,IAAI,KAAG,OAYvG,CAAC;AAEL,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AAED,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;oFACoF;AACpF,eAAO,MAAM,gBAAgB,GAAI,OAAO,WAAW,EAAE,OAAO,UAAU,KAAG,IAOxE,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,EAAE,cAAc,CAAC;IACzB,2CAA2C;IAC3C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,oFAAoF;IACpF,UAAU,EAAE,UAAU,CAAC;IACvB,4FAA4F;IAC5F,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,qCAAqC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mDAAmD;IACnD,iBAAiB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,eAAe,CAAC,CAAC;IACzD,yDAAyD;IACzD,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,+CAA+C;IAC/C,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,oGAAoG;IACpG,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,uFAAuF;IACvF,YAAY,EAAE,iBAAiB,CAAC;IAChC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kFAAkF;IAClF,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,2FAA2F;IAC3F,mBAAmB,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,oFAAoF;IACpF,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,gEAAgE;IAChE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,yEAAyE;IACzE,YAAY,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;IACpD,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,eAAe,EAAE,aAAa,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,gFAAgF;IAChF,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,oFAAoF;IACpF,gBAAgB,EAAE,OAAO,CAAC;IAE1B,qDAAqD;IACrD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,8EAA8E;IAC9E,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACvD,gGAAgG;IAChG,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;IAC5C,mHAAmH;IACnH,sBAAsB,EAAE,OAAO,CAAC;IAChC,mHAAmH;IACnH,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,wGAAwG;IACxG,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0HAA0H;IAC1H,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,cAM3B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAO,WA6C7B,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,QAAO,MAA6B,CAAC;AAElE,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,MAA6B,CAAC;AAE9F,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,KAAG,MAAuC,CAAC;AAE1G,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,YAAY,MAAM,KAAG,MAAmC,CAAC;AAE5G;4EAC4E;AAC5E,eAAO,MAAM,aAAa,GAAI,OAAO,WAAW,EAAE,cAAc,MAAM,KAAG,OAC/B,CAAC;AAE3C;qFACqF;AACrF,eAAO,MAAM,oBAAoB,GAAI,OAAO,WAAW,EAAE,UAAU,MAAM,KAAG,OAC/B,CAAC"}
package/dist/state.js CHANGED
@@ -4,9 +4,23 @@
4
4
  *
5
5
  * Fields that must survive hot reload (file watcher handles, timers) are stored
6
6
  * here rather than at module scope, because module-level variables reset to
7
- * fresh empty instances on each bun --hot re-evaluation.
7
+ * fresh empty instances on each hot reload re-evaluation.
8
8
  */
9
9
  import { appendAuditEntryToDisk } from './audit-disk.js';
10
+ /**
11
+ * Overrides the mutating methods of an existing Map to throw TypeError, preventing
12
+ * accidental mutation after the registry is built.
13
+ * Object.freeze alone does not block Map.prototype.set (it accesses internal slots).
14
+ */
15
+ export const freezeRegistryMap = (map) => {
16
+ const throwFn = () => {
17
+ throw new TypeError('Cannot mutate a frozen registry map');
18
+ };
19
+ Object.defineProperty(map, 'set', { value: throwFn, writable: false, configurable: false });
20
+ Object.defineProperty(map, 'delete', { value: throwFn, writable: false, configurable: false });
21
+ Object.defineProperty(map, 'clear', { value: throwFn, writable: false, configurable: false });
22
+ return Object.freeze(map);
23
+ };
10
24
  /** Timeout for tool dispatch and browser command requests (ms) */
11
25
  export const DISPATCH_TIMEOUT_MS = 30_000;
12
26
  /** Absolute upper bound for a single dispatch, even with continuous progress (5 minutes) */
@@ -21,7 +35,7 @@ export const isSessionAllowed = (rules, toolName, domain) => rules.some(rule =>
21
35
  case 'tool_all':
22
36
  return rule.tool === toolName;
23
37
  case 'domain_all':
24
- return rule.domain !== null && rule.domain === domain;
38
+ return rule.domain === null || rule.domain === domain;
25
39
  default:
26
40
  return false;
27
41
  }
@@ -42,11 +56,11 @@ export const appendAuditEntry = (state, entry) => {
42
56
  export const STATE_SCHEMA_VERSION = 4;
43
57
  /** Frozen empty registry for initializing ServerState */
44
58
  export const EMPTY_REGISTRY = Object.freeze({
45
- plugins: new Map(),
46
- toolLookup: new Map(),
47
- resourceLookup: new Map(),
48
- promptLookup: new Map(),
49
- failures: [],
59
+ plugins: freezeRegistryMap(new Map()),
60
+ toolLookup: freezeRegistryMap(new Map()),
61
+ resourceLookup: freezeRegistryMap(new Map()),
62
+ promptLookup: freezeRegistryMap(new Map()),
63
+ failures: Object.freeze([]),
50
64
  });
51
65
  /**
52
66
  * Creates a fresh ServerState with all fields initialized to their defaults.
@@ -97,6 +111,7 @@ export const createState = () => ({
97
111
  pendingExtensionReload: false,
98
112
  endpointCallTimestamps: new Map(),
99
113
  adaptersDirReady: false,
114
+ activeNetworkCaptures: new Set(),
100
115
  });
101
116
  /** Generate a cryptographically random JSON-RPC request ID */
102
117
  export const getNextRequestId = () => crypto.randomUUID();
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,12 @@ import type { ServerState } from './state.js';
10
10
  * Query the latest published version of a package via `npm view`.
11
11
  * Delegates auth to npm itself, which reads ~/.npmrc for tokens —
12
12
  * this handles private/scoped packages without manual token management.
13
+ * Uses async `spawn` to avoid blocking the event loop.
13
14
  *
14
15
  * @param packageName - npm package name (e.g., 'opentabs-plugin-slack' or '@scope/opentabs-plugin-foo')
15
16
  * @returns The latest version string, or null on failure
16
17
  */
17
- export declare const fetchLatestVersion: (packageName: string) => string | null;
18
+ export declare const fetchLatestVersion: (packageName: string) => Promise<string | null>;
18
19
  /**
19
20
  * Compare two semver version strings (major.minor.patch only).
20
21
  * Strips prerelease suffixes (e.g., "1.0.0-beta.1" → [1, 0, 0]) and leading 'v'
@@ -27,10 +28,11 @@ export declare const fetchLatestVersion: (packageName: string) => string | null;
27
28
  export declare const isNewer: (current: string, latest: string) => boolean;
28
29
  /**
29
30
  * Check all npm-installed plugins for newer versions on the registry.
30
- * Runs `npm view` for each plugin sequentially, logs outdated entries,
31
- * and stores results in `state.outdatedPlugins`. Skips local plugins.
31
+ * Runs `npm view` queries concurrently via Promise.allSettled, logs
32
+ * outdated entries, and stores results in `state.outdatedPlugins`.
33
+ * Skips local plugins.
32
34
  *
33
35
  * @param state - Server state containing the plugin registry and outdatedPlugins target
34
36
  */
35
- export declare const checkForUpdates: (state: ServerState) => void;
37
+ export declare const checkForUpdates: (state: ServerState) => Promise<void>;
36
38
  //# sourceMappingURL=version-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAK9D;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,KAAG,MAAM,GAAG,IAajE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,OAqBzD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW,KAAG,IAwDpD,CAAC"}
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAQ9D;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAU,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAyCnF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,OAqBzD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAU,OAAO,WAAW,KAAG,OAAO,CAAC,IAAI,CA4DtE,CAAC"}
@@ -6,24 +6,51 @@
6
6
  * the background and stores results in server state.
7
7
  */
8
8
  import { log } from './logger.js';
9
- import { toErrorMessage } from '@opentabs-dev/shared';
10
- import { spawnSync } from 'node:child_process';
9
+ import { platformExec, toErrorMessage } from '@opentabs-dev/shared';
10
+ import { spawn } from 'node:child_process';
11
+ /** Timeout for a single `npm view` query (10 seconds). */
12
+ const NPM_VIEW_TIMEOUT_MS = 10_000;
11
13
  /**
12
14
  * Query the latest published version of a package via `npm view`.
13
15
  * Delegates auth to npm itself, which reads ~/.npmrc for tokens —
14
16
  * this handles private/scoped packages without manual token management.
17
+ * Uses async `spawn` to avoid blocking the event loop.
15
18
  *
16
19
  * @param packageName - npm package name (e.g., 'opentabs-plugin-slack' or '@scope/opentabs-plugin-foo')
17
20
  * @returns The latest version string, or null on failure
18
21
  */
19
- export const fetchLatestVersion = (packageName) => {
22
+ export const fetchLatestVersion = async (packageName) => {
20
23
  try {
21
- const raw = spawnSync('npm', ['view', packageName, 'version'], { stdio: ['ignore', 'pipe', 'pipe'] });
22
- if (raw.error || raw.status !== 0) {
23
- log.debug(`npm view failed for ${packageName}: ${raw.stderr.toString().trim()}`);
24
+ const child = spawn(platformExec('npm'), ['view', packageName, 'version'], {
25
+ stdio: ['ignore', 'pipe', 'pipe'],
26
+ });
27
+ const stdoutChunks = [];
28
+ const stderrChunks = [];
29
+ child.stdout.on('data', (chunk) => stdoutChunks.push(chunk));
30
+ child.stderr.on('data', (chunk) => stderrChunks.push(chunk));
31
+ const result = await new Promise((resolve, reject) => {
32
+ const timer = setTimeout(() => {
33
+ child.kill();
34
+ reject(new Error(`npm view timed out for ${packageName}`));
35
+ }, NPM_VIEW_TIMEOUT_MS);
36
+ child.on('error', err => {
37
+ clearTimeout(timer);
38
+ reject(err);
39
+ });
40
+ child.on('close', code => {
41
+ clearTimeout(timer);
42
+ resolve({
43
+ exitCode: code ?? 1,
44
+ stdout: Buffer.concat(stdoutChunks).toString(),
45
+ stderr: Buffer.concat(stderrChunks).toString(),
46
+ });
47
+ });
48
+ });
49
+ if (result.exitCode !== 0) {
50
+ log.debug(`npm view failed for ${packageName}: ${result.stderr.trim()}`);
24
51
  return null;
25
52
  }
26
- const version = raw.stdout.toString().trim();
53
+ const version = result.stdout.trim();
27
54
  return version || null;
28
55
  }
29
56
  catch (e) {
@@ -63,21 +90,22 @@ export const isNewer = (current, latest) => {
63
90
  };
64
91
  /**
65
92
  * Check all npm-installed plugins for newer versions on the registry.
66
- * Runs `npm view` for each plugin sequentially, logs outdated entries,
67
- * and stores results in `state.outdatedPlugins`. Skips local plugins.
93
+ * Runs `npm view` queries concurrently via Promise.allSettled, logs
94
+ * outdated entries, and stores results in `state.outdatedPlugins`.
95
+ * Skips local plugins.
68
96
  *
69
97
  * @param state - Server state containing the plugin registry and outdatedPlugins target
70
98
  */
71
- export const checkForUpdates = (state) => {
99
+ export const checkForUpdates = async (state) => {
72
100
  const npmPlugins = Array.from(state.registry.plugins.values()).filter(p => p.trustTier !== 'local' && p.npmPackageName);
73
101
  if (npmPlugins.length === 0)
74
102
  return;
75
103
  log.info(`Checking ${npmPlugins.length} npm plugin(s) for updates...`);
76
- const results = npmPlugins.map(plugin => {
104
+ const settled = await Promise.allSettled(npmPlugins.map(async (plugin) => {
77
105
  const pkgName = plugin.npmPackageName;
78
106
  if (!pkgName)
79
107
  return { kind: 'unreachable' };
80
- const latest = fetchLatestVersion(pkgName);
108
+ const latest = await fetchLatestVersion(pkgName);
81
109
  if (!latest)
82
110
  return { kind: 'unreachable' };
83
111
  if (isNewer(plugin.version, latest)) {
@@ -92,7 +120,8 @@ export const checkForUpdates = (state) => {
92
120
  };
93
121
  }
94
122
  return { kind: 'up-to-date' };
95
- });
123
+ }));
124
+ const results = settled.map(s => (s.status === 'fulfilled' ? s.value : { kind: 'unreachable' }));
96
125
  const outdated = [];
97
126
  let unreachableCount = 0;
98
127
  for (const result of results) {
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAiB,EAAE;IACvE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACtG,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,GAAG,CAAC,KAAK,CAAC,uBAAuB,WAAW,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,OAAO,IAAI,IAAI,CAAC;IACzB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,sCAAsC,WAAW,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,MAAc,EAAW,EAAE;IAClE,MAAM,KAAK,GAAG,CAAC,CAAS,EAAY,EAAE,CACpC,CAAC;SACE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,OAAO,CAAC,EAAE;QACb,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,aAAa,GAAG,cAAc;YAAE,OAAO,IAAI,CAAC;QAChD,IAAI,aAAa,GAAG,cAAc;YAAE,OAAO,KAAK,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAkB,EAAQ,EAAE;IAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACnE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,cAAc,CACjD,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEpC,GAAG,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,+BAA+B,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAkB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAE7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAE5C,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,cAAc,EAAE,MAAM,CAAC,OAAO;oBAC9B,aAAa,EAAE,MAAM;oBACrB,aAAa,EAAE,iBAAiB,OAAO,EAAE;iBAC1C;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACzC,gBAAgB,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,cAAc,MAAM,KAAK,CAAC,aAAa,UAAU,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;IAChC,IAAI,gBAAgB,KAAK,KAAK,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,gBAAgB,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CACN,WAAW,KAAK,GAAG,gBAAgB,OAAO,KAAK,6BAA6B,gBAAgB,eAAe,CAC5G,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@opentabs-dev/mcp-server",
3
- "version": "0.0.34",
3
+ "version": "0.0.36",
4
4
  "engines": {
5
- "node": ">= 20.0.0"
5
+ "node": ">= 22.0.0"
6
6
  },
7
7
  "type": "module",
8
8
  "exports": {
@@ -16,16 +16,15 @@
16
16
  },
17
17
  "scripts": {
18
18
  "build": "tsc --build",
19
- "dev": "bun --hot dist/index.js --dev",
19
+ "dev": "node dist/dev-proxy.js",
20
20
  "start": "node dist/index.js"
21
21
  },
22
22
  "devDependencies": {
23
- "@types/ws": "^8.18.1",
24
- "bun-types": "^1.3.9"
23
+ "@types/ws": "^8.18.1"
25
24
  },
26
25
  "dependencies": {
27
- "@modelcontextprotocol/sdk": "^1.26.0",
28
- "@opentabs-dev/shared": "0.0.34",
26
+ "@modelcontextprotocol/sdk": "^1.27.1",
27
+ "@opentabs-dev/shared": "*",
29
28
  "ajv": "^8.18.0",
30
29
  "ws": "^8.19.0",
31
30
  "zod": "^4.3.6"