@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 +1 -1
- package/package.json +1 -1
- package/skills/bridge-react-package.md +1 -0
- package/src/bridge.js +3 -0
- package/src/bridge.test.js +5 -0
- package/src/index.js +3 -0
- package/src/index.test.js +15 -0
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
|
@@ -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',
|
package/src/bridge.test.js
CHANGED
|
@@ -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', () => {
|