@octanejs/mcp-server 0.2.16 → 0.2.17

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,7 +163,7 @@ 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`, `streaming-ssr`,
166
- `streaming-backpressure`, `compiler-throughput`, `codegen-size`,
166
+ `streaming-backpressure`, `compiler-throughput`, `codegen-size`, `hook-memo`,
167
167
  `bundle-size`, `bundle-reachability`, `three-renderer`, `three-bundle-size`, …)
168
168
  or every suite with `all`; `quick` selects the reduced-iteration smoke pass. The
169
169
  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.16",
3
+ "version": "0.2.17",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22.22.2"
@@ -45,6 +45,7 @@ of bridging by hand:
45
45
  | `@reduxjs/toolkit` | `@octanejs/redux-toolkit` |
46
46
  | `@testing-library/react` | `@octanejs/testing-library` |
47
47
  | `@mdx-js/react` | `@octanejs/mdx` |
48
+ | `ink` | `@octanejs/ink` |
48
49
 
49
50
  The `octane_bindings` tool returns the same map machine-readably. For anything
50
51
  else, run the `octane_bridge_react_package` tool to get a scan of the
package/src/bridge.js CHANGED
@@ -18,6 +18,7 @@ export const KNOWN_BINDINGS = {
18
18
  '@apollo/client': '@octanejs/apollo-client',
19
19
  '@solana/react': '@octanejs/solana-react',
20
20
  '@tanstack/ai-react': '@octanejs/tanstack-ai',
21
+ '@tanstack/react-db': '@octanejs/tanstack-db',
21
22
  '@tanstack/react-devtools': '@octanejs/tanstack-devtools',
22
23
  '@tanstack/react-form': '@octanejs/tanstack-form',
23
24
  '@tanstack/react-query': '@octanejs/tanstack-query',
@@ -145,6 +146,7 @@ export const KNOWN_BINDINGS = {
145
146
  '@testing-library/react': '@octanejs/testing-library',
146
147
  'react-i18next': '@octanejs/i18next',
147
148
  '@inertiajs/react': '@octanejs/inertia',
149
+ ink: '@octanejs/ink',
148
150
  '@mdx-js/react': '@octanejs/mdx',
149
151
  'dexie-react-hooks': '@octanejs/dexie',
150
152
  '@livestore/react': '@octanejs/livestore',
@@ -171,6 +173,7 @@ export const KNOWN_BINDING_PACKAGE_DIRS = new Set(
171
173
  export const KNOWN_VANILLA_CORES = {
172
174
  '@apollo/client': '@apollo/client',
173
175
  '@solana/react': '@solana/kit',
176
+ '@tanstack/react-db': '@tanstack/db',
174
177
  '@tanstack/react-query': '@tanstack/query-core',
175
178
  wagmi: '@wagmi/core',
176
179
  '@tanstack/react-table': '@tanstack/table-core',
@@ -288,6 +288,11 @@ describe('KNOWN_BINDINGS', () => {
288
288
  expect(KNOWN_BINDINGS['react-window']).toBe('@octanejs/window');
289
289
  });
290
290
 
291
+ it('maps TanStack React DB to the Octane binding and framework-neutral core', () => {
292
+ expect(KNOWN_BINDINGS['@tanstack/react-db']).toBe('@octanejs/tanstack-db');
293
+ expect(KNOWN_VANILLA_CORES['@tanstack/react-db']).toBe('@tanstack/db');
294
+ });
295
+
291
296
  it('maps Streamdown and every official plugin package to the consolidated binding', () => {
292
297
  const upstreamPackages = [
293
298
  'streamdown',
package/src/index.js CHANGED
@@ -65,6 +65,7 @@ export const BENCHMARK_SUITES = [
65
65
  'application-composition',
66
66
  'scaling-curves',
67
67
  'store-selector-fanout',
68
+ 'hook-store-composition',
68
69
  'effectful-list',
69
70
  'list-clear',
70
71
  'memo-wall',
@@ -82,11 +83,13 @@ export const BENCHMARK_SUITES = [
82
83
  'async-composition',
83
84
  'lynx-list',
84
85
  'universal-leaf-update',
86
+ 'universal-external-store',
85
87
  'lynx-render',
86
88
  'lynx-table',
87
89
  'lynx-table-web',
88
90
  'lynx-bundle-size',
89
91
  'codegen-size',
92
+ 'hook-memo',
90
93
  'compiler-throughput',
91
94
  'bundle-size',
92
95
  'bundle-reachability',
package/src/index.test.js CHANGED
@@ -77,6 +77,21 @@ describe('@octanejs/mcp-server helpers', () => {
77
77
  .map((line) => line.trim())
78
78
  .filter((line) => line && line !== 'Available suites:');
79
79
  expect(suites).toEqual(BENCHMARK_SUITES);
80
+
81
+ // The public MCP schema must accept every runner suite, not just keep
82
+ // an exported helper list in sync.
83
+ const server = createServer({ repoRoot });
84
+ const client = new Client({ name: 'octane-mcp-test', version: '1.0.0' });
85
+ const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
86
+ try {
87
+ await Promise.all([server.connect(serverTransport), client.connect(clientTransport)]);
88
+ const tools = await client.listTools();
89
+ const benchmark = tools.tools.find((tool) => tool.name === 'octane_benchmark');
90
+ expect(benchmark?.inputSchema.properties?.benchmark?.enum).toEqual(['all', ...suites]);
91
+ } finally {
92
+ await client.close();
93
+ await server.close();
94
+ }
80
95
  });
81
96
 
82
97
  it('classifies every maintained binding and recommends its test project', () => {