@octanejs/mcp-server 0.2.21 → 0.2.23

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.
package/README.md CHANGED
@@ -163,9 +163,11 @@ one manifest suite by name (`js-framework`, `todomvc`, `weather-app`,
163
163
  `controlled-form`, `external-store-fanout`, `external-store-integrations`,
164
164
  `scheduler-responsiveness`, `suspense-recovery`, `event-delegation`,
165
165
  `application-composition`, `scaling-curves`, `dev-form-diagnostics`,
166
- `behavior-root-events`, `router-dispatch`, `manifest-cache-invalidation`, `vite-client-assets`, `activity`, `streaming-ssr`, `streaming-backpressure`,
166
+ `behavior-root-events`, `radix-collection-order`, `router-dispatch`,
167
+ `floating-tree-navigation`, `manifest-cache-invalidation`, `vite-client-assets`, `activity`,
168
+ `streaming-ssr`, `streaming-backpressure`,
167
169
  `compiler-throughput`, `tsrx-component-graph`, `codegen-size`, `hook-memo`,
168
- `template-call-memo`, `bundle-size`, `bundle-reachability`, `three-renderer`,
170
+ `template-call-memo`, `tsrx-renderer-selection`, `bundle-size`, `bundle-reachability`, `three-renderer`,
169
171
  `three-bundle-size`, …)
170
172
  or every suite with `all`; `quick` selects the reduced-iteration smoke pass. The
171
173
  suite list mirrors the runner manifest and `node benchmarks/bench.mjs --list`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@octanejs/mcp-server",
3
- "version": "0.2.21",
3
+ "version": "0.2.23",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22.22.2"
package/src/bridge.js CHANGED
@@ -30,6 +30,7 @@ export const KNOWN_BINDINGS = {
30
30
  '@tanstack/react-store': '@octanejs/tanstack-store',
31
31
  '@xstate/react': '@octanejs/xstate',
32
32
  '@xstate/store-react': '@octanejs/xstate-store',
33
+ '@xyflow/react': '@octanejs/xyflow',
33
34
  '@tanstack/react-router-ssr-query': '@octanejs/tanstack-router-ssr-query',
34
35
  '@tanstack/react-hotkeys': '@octanejs/tanstack-hotkeys',
35
36
  '@tanstack/react-pacer': '@octanejs/tanstack-pacer',
@@ -50,6 +51,10 @@ export const KNOWN_BINDINGS = {
50
51
  '@lexical/react': '@octanejs/lexical',
51
52
  '@tiptap/react': '@octanejs/tiptap',
52
53
  'react-pdf': '@octanejs/pdf',
54
+ '@portabletext/react': '@octanejs/portabletext',
55
+ '@sanity/icons': '@octanejs/sanity-icons',
56
+ '@sanity/react-loader': '@octanejs/sanity-loader',
57
+ '@sanity/logos': '@octanejs/sanity-logos',
53
58
  '@monaco-editor/react': '@octanejs/monaco-editor',
54
59
  'lucide-react': '@octanejs/lucide',
55
60
  '@phosphor-icons/react': '@octanejs/phosphor-icons',
@@ -60,13 +65,17 @@ export const KNOWN_BINDINGS = {
60
65
  'react-stately': '@octanejs/aria',
61
66
  'radix-ui': '@octanejs/radix',
62
67
  'react-hook-form': '@octanejs/hook-form',
68
+ 'better-auth/react': '@octanejs/better-auth',
63
69
  '@base-ui-components/react': '@octanejs/base-ui',
64
70
  '@dnd-kit/react': '@octanejs/dnd-kit',
65
71
  'embla-carousel-react': '@octanejs/embla-carousel',
66
72
  'react-dropzone': '@octanejs/dropzone',
67
73
  sonner: '@octanejs/sonner',
68
74
  'react-error-boundary': '@octanejs/react-error-boundary',
75
+ 'react-email': '@octanejs/email',
76
+ '@react-email/components': '@octanejs/email',
69
77
  'react-resizable-panels': '@octanejs/resizable-panels',
78
+ 'react-select': '@octanejs/select',
70
79
  'react-transition-group': '@octanejs/transition-group',
71
80
  'react-day-picker': '@octanejs/day-picker',
72
81
  'input-otp': '@octanejs/input-otp',
@@ -81,6 +90,7 @@ export const KNOWN_BINDINGS = {
81
90
  'react-content-loader': '@octanejs/content-loader',
82
91
  'react-to-print': '@octanejs/to-print',
83
92
  'react-calendar': '@octanejs/calendar',
93
+ 'thinking-orbs': '@octanejs/thinking-orbs',
84
94
  '@formkit/auto-animate': '@octanejs/auto-animate',
85
95
  streamdown: '@octanejs/streamdown',
86
96
  'react-syntax-highlighter': '@octanejs/syntax-highlighter',
@@ -172,6 +182,7 @@ export const KNOWN_BINDINGS = {
172
182
  export const KNOWN_NATIVE_BINDINGS = new Set([
173
183
  '@octanejs/devtools',
174
184
  '@octanejs/electron',
185
+ '@octanejs/email-cli',
175
186
  '@octanejs/tauri',
176
187
  ]);
177
188
 
@@ -199,6 +210,7 @@ export const KNOWN_VANILLA_CORES = {
199
210
  'embla-carousel-react': 'embla-carousel',
200
211
  '@xstate/react': 'xstate',
201
212
  '@xstate/store-react': '@xstate/store',
213
+ '@xyflow/react': '@xyflow/system',
202
214
  'react-redux': 'redux',
203
215
  '@reduxjs/toolkit': 'redux',
204
216
  'react-i18next': 'i18next',
@@ -298,6 +298,10 @@ describe('KNOWN_BINDINGS', () => {
298
298
  expect(KNOWN_BINDINGS['react-textarea-autosize']).toBe('@octanejs/textarea-autosize');
299
299
  });
300
300
 
301
+ it('maps react-select to the exact Octane binding', () => {
302
+ expect(KNOWN_BINDINGS['react-select']).toBe('@octanejs/select');
303
+ });
304
+
301
305
  it('maps react-window to its exact official Octane binding', () => {
302
306
  expect(KNOWN_BINDINGS['react-window']).toBe('@octanejs/window');
303
307
  });
@@ -307,6 +311,11 @@ describe('KNOWN_BINDINGS', () => {
307
311
  expect(KNOWN_VANILLA_CORES['@tanstack/react-db']).toBe('@tanstack/db');
308
312
  });
309
313
 
314
+ it('maps XYFlow React to the Octane binding and framework-neutral system core', () => {
315
+ expect(KNOWN_BINDINGS['@xyflow/react']).toBe('@octanejs/xyflow');
316
+ expect(KNOWN_VANILLA_CORES['@xyflow/react']).toBe('@xyflow/system');
317
+ });
318
+
310
319
  it('maps Streamdown and every official plugin package to the consolidated binding', () => {
311
320
  const upstreamPackages = [
312
321
  'streamdown',
package/src/index.js CHANGED
@@ -54,6 +54,9 @@ export const BENCHMARK_SUITES = [
54
54
  'dbmon',
55
55
  'recursive-context',
56
56
  'spa-navigation',
57
+ 'scoped-signals',
58
+ 'scoped-signals-trace',
59
+ 'scoped-native-reads',
57
60
  'signal-favoring',
58
61
  'news',
59
62
  'hydration-interactivity',
@@ -69,8 +72,16 @@ export const BENCHMARK_SUITES = [
69
72
  'scaling-curves',
70
73
  'dev-form-diagnostics',
71
74
  'scheduler-depth',
75
+ 'hydration-range-compaction',
76
+ 'deferred-hydration-boundaries',
77
+ 'hydration-render-phase-queue',
72
78
  'behavior-root-events',
79
+ 'radix-collection-order',
73
80
  'router-dispatch',
81
+ 'visx-categorical-scale',
82
+ 'rspack-css-graph',
83
+ 'floating-tree-navigation',
84
+ 'ink-cursor-update',
74
85
  'manifest-cache-invalidation',
75
86
  'vite-client-assets',
76
87
  'store-selector-fanout',
@@ -92,7 +103,10 @@ export const BENCHMARK_SUITES = [
92
103
  'async-waterfall',
93
104
  'async-composition',
94
105
  'lynx-list',
106
+ 'lynx-handle-retirement',
95
107
  'universal-leaf-update',
108
+ 'universal-object-teardown',
109
+ 'universal-template-events',
96
110
  'universal-external-store',
97
111
  'lynx-render',
98
112
  'lynx-table',
@@ -103,9 +117,17 @@ export const BENCHMARK_SUITES = [
103
117
  'template-call-memo',
104
118
  'compiler-throughput',
105
119
  'tsrx-component-graph',
120
+ 'tsrx-void-memo-aliases',
121
+ 'tsrx-hydrate-module-slicing',
122
+ 'tsrx-stable-hookful-propagation',
123
+ 'tsrx-renderer-validation-ranges',
124
+ 'tsrx-local-component-name-catalog',
106
125
  'tsrx-jsx-return-branches',
107
126
  'text-type-roots',
108
127
  'tsrx-nesting-diagnostics',
128
+ 'tsrx-renderer-selection',
129
+ 'tsrx-native-change-analysis',
130
+ 'tsrx-vite-preflight-parsing',
109
131
  'bundle-size',
110
132
  'bundle-reachability',
111
133
  'three-renderer',
package/src/index.test.js CHANGED
@@ -76,6 +76,10 @@ describe('@octanejs/mcp-server helpers', () => {
76
76
  .split('\n')
77
77
  .map((line) => line.trim())
78
78
  .filter((line) => line && line !== 'Available suites:');
79
+ expect(suites).toContain('tsrx-hydrate-module-slicing');
80
+ expect(suites).toContain('tsrx-stable-hookful-propagation');
81
+ expect(suites).toContain('tsrx-renderer-validation-ranges');
82
+ expect(suites).toContain('tsrx-local-component-name-catalog');
79
83
  expect(suites).toEqual(BENCHMARK_SUITES);
80
84
 
81
85
  // The public MCP schema must accept every runner suite, not just keep