@shuji-bonji/rxjs-mcp 0.1.3 → 0.2.1
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/CHANGELOG.md +96 -0
- package/README.ja.md +39 -3
- package/README.md +64 -10
- package/dist/index.js +1 -1
- package/dist/tools/analyze-operators.d.ts.map +1 -1
- package/dist/tools/analyze-operators.js +32 -8
- package/dist/tools/analyze-operators.js.map +1 -1
- package/dist/tools/execute-stream-worker.d.ts +15 -1
- package/dist/tools/execute-stream-worker.d.ts.map +1 -1
- package/dist/tools/execute-stream-worker.js +121 -2
- package/dist/tools/execute-stream-worker.js.map +1 -1
- package/package.json +6 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.2.1] - 2026-05-09
|
|
9
|
+
|
|
10
|
+
### Build
|
|
11
|
+
|
|
12
|
+
- **build script に `chmod +x dist/index.js` を追加**: local dev で `./dist/index.js` を直接実行した際の `permission denied` を回避。npm install / npx 経由の通常利用には影響なし (npm が install 時に bin を chmod するため)。shuji 製 MCP 全体で build script を統一。
|
|
13
|
+
|
|
14
|
+
## [0.2.0] - 2026-04-22
|
|
15
|
+
|
|
16
|
+
### BREAKING
|
|
17
|
+
- **Minimum Node.js version is now 22.** `engines.node` was raised from
|
|
18
|
+
`>=18.0.0` to `>=22.0.0`. Node 18 / 20 are EOL or in Maintenance and are
|
|
19
|
+
no longer supported. If you are on an older Node, stay on `0.1.x`
|
|
20
|
+
(`npm install @shuji-bonji/rxjs-mcp@0.1` ) until you can upgrade.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- `execute_stream`: README examples and natural snippets like
|
|
24
|
+
`interval(100).pipe(take(5))` or `const s$ = ...; s$` now run without
|
|
25
|
+
requiring an explicit `return`. The tool auto-wraps the final top-level
|
|
26
|
+
expression when no `return` is present. Explicit `return` keeps working
|
|
27
|
+
(backward compatible).
|
|
28
|
+
- `execute_stream`: error message when the result is not an Observable now
|
|
29
|
+
tells users both supported styles ("end with an Observable expression" or
|
|
30
|
+
"add an explicit `return`").
|
|
31
|
+
- `analyze_operators`: the displayed operator chain now reflects the order
|
|
32
|
+
operators actually appear in the source code. Previously they were listed
|
|
33
|
+
in `operatorDatabase` insertion order, so
|
|
34
|
+
`pipe(map, filter, switchMap, retry)` was rendered as
|
|
35
|
+
`map → switchMap → filter → retry`.
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
- README updated with the three supported `execute_stream` snippet styles.
|
|
39
|
+
- Additional tests covering implicit-return behavior and chain-order
|
|
40
|
+
preservation.
|
|
41
|
+
|
|
42
|
+
### Infrastructure
|
|
43
|
+
- GitHub Actions CI workflow (`.github/workflows/ci.yml`) running
|
|
44
|
+
build + unit tests on Node 22 (current LTS) and 24 (current Active LTS)
|
|
45
|
+
for every push and PR. Matches `engines.node >= 22`.
|
|
46
|
+
- GitHub Actions Release workflow (`.github/workflows/release.yml`)
|
|
47
|
+
publishing to npm via **Trusted Publisher (OIDC)** with provenance.
|
|
48
|
+
No `NPM_TOKEN` secret required. Also auto-creates a GitHub Release
|
|
49
|
+
using the matching `CHANGELOG.md` section.
|
|
50
|
+
- `RELEASING.md` documenting the one-time npm Trusted Publisher setup
|
|
51
|
+
and the regular release procedure.
|
|
52
|
+
|
|
53
|
+
## [0.1.3] - 2025-12-27
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
- Refactored codebase for better maintainability
|
|
57
|
+
- Separated data (patterns, operators, RxJS context) from logic
|
|
58
|
+
- Centralized RxJS execution context in `rxjs-context.ts`
|
|
59
|
+
- Moved shared types to `types.ts`
|
|
60
|
+
- Reduced code duplication in worker files
|
|
61
|
+
|
|
62
|
+
### Added
|
|
63
|
+
- `src/data/` directory for data-only modules
|
|
64
|
+
- `patterns.ts` - RxJS pattern templates
|
|
65
|
+
- `operators.ts` - Operator definitions
|
|
66
|
+
- `creation-functions.ts` - Creation function definitions
|
|
67
|
+
- `cleanup-examples.ts` - Framework-specific cleanup examples
|
|
68
|
+
- `rxjs-context.ts` - RxJS execution context for Worker
|
|
69
|
+
|
|
70
|
+
## [0.1.2] - 2025-12-26
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
- Use `zod-to-json-schema` for proper JSON Schema conversion (MCP SDK compatibility)
|
|
74
|
+
- Added unofficial community notice to Japanese README
|
|
75
|
+
|
|
76
|
+
## [0.1.1] - 2025-12-25
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
- Unofficial community project notice in README
|
|
80
|
+
|
|
81
|
+
### Security
|
|
82
|
+
- Code execution now runs in isolated Worker threads
|
|
83
|
+
- Dangerous globals (process, require, fs, etc.) are explicitly blocked
|
|
84
|
+
- Hard timeout with forced worker termination prevents resource leaks
|
|
85
|
+
|
|
86
|
+
## [0.1.0] - 2025-12-25
|
|
87
|
+
|
|
88
|
+
### Added
|
|
89
|
+
- Initial release
|
|
90
|
+
- `execute_stream` - Execute RxJS code and capture emissions
|
|
91
|
+
- `generate_marble` - Generate ASCII marble diagrams
|
|
92
|
+
- `analyze_operators` - Analyze operator chains for performance
|
|
93
|
+
- `detect_memory_leak` - Detect potential memory leaks
|
|
94
|
+
- `suggest_pattern` - Suggest RxJS patterns for common use cases
|
|
95
|
+
- Support for Angular, React, Vue frameworks
|
|
96
|
+
- Comprehensive test suite (181 unit tests, 7 integration tests)
|
package/README.ja.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# RxJS MCP Server
|
|
2
2
|
|
|
3
|
+
<!-- Package meta -->
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@shuji-bonji/rxjs-mcp)
|
|
6
|
+
[](https://www.npmjs.com/package/@shuji-bonji/rxjs-mcp)
|
|
7
|
+
[](./LICENSE)
|
|
8
|
+
[](https://nodejs.org/)
|
|
9
|
+
|
|
10
|
+
<!-- Build / trust -->
|
|
11
|
+
|
|
12
|
+
[](https://github.com/shuji-bonji/rxjs-mcp-server/actions/workflows/ci.yml)
|
|
13
|
+
[](https://github.com/shuji-bonji/rxjs-mcp-server/actions/workflows/release.yml)
|
|
14
|
+
[](https://docs.npmjs.com/generating-provenance-statements)
|
|
15
|
+
[](https://docs.npmjs.com/trusted-publishers)
|
|
16
|
+
|
|
17
|
+
<!-- Tech stack -->
|
|
18
|
+
|
|
19
|
+
[](https://www.typescriptlang.org/)
|
|
20
|
+
[](https://rxjs.dev)
|
|
21
|
+
[](https://modelcontextprotocol.io)
|
|
22
|
+
[](./README.ja.md#コントリビューション)
|
|
23
|
+
|
|
3
24
|
> ⚠️ これは非公式のコミュニティプロジェクトです。RxJSチームとは関係ありません。
|
|
4
25
|
|
|
5
26
|
ClaudeなどのAIアシスタントから直接RxJSストリームを実行、デバッグ、可視化できます。
|
|
@@ -104,12 +125,21 @@ npx @shuji-bonji/rxjs-mcp
|
|
|
104
125
|
|
|
105
126
|
RxJSコードを実行し、タイムライン付きでストリームの発行をキャプチャします。
|
|
106
127
|
|
|
128
|
+
Observable に評価される式、または末尾がそのような式で終わるスニペットを受け付けます。`return` の記述は任意です。
|
|
129
|
+
|
|
107
130
|
```typescript
|
|
108
|
-
//
|
|
109
|
-
|
|
131
|
+
// ✅ 末尾の式で返す(v0.2.0 以降、自動的に return されます)
|
|
132
|
+
interval(100).pipe(
|
|
110
133
|
take(5),
|
|
111
134
|
map(x => x * 2)
|
|
112
|
-
)
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
// ✅ 宣言 + 末尾で参照
|
|
138
|
+
const stream$ = interval(100).pipe(take(5), map(x => x * 2));
|
|
139
|
+
stream$
|
|
140
|
+
|
|
141
|
+
// ✅ 明示的な return(従来通り動作します)
|
|
142
|
+
return interval(100).pipe(take(5), map(x => x * 2));
|
|
113
143
|
```
|
|
114
144
|
|
|
115
145
|
### generate_marble
|
|
@@ -237,6 +267,12 @@ npm run dev
|
|
|
237
267
|
npm test
|
|
238
268
|
```
|
|
239
269
|
|
|
270
|
+
## リリース
|
|
271
|
+
|
|
272
|
+
リリースは GitHub Actions で自動化されており、npm への publish は
|
|
273
|
+
**Trusted Publisher (OIDC)** を使用します(静的トークン不要、
|
|
274
|
+
provenance attestation 付き)。手順は [RELEASING.md](./RELEASING.md) を参照してください。
|
|
275
|
+
|
|
240
276
|
## 他のMCPサーバーとの連携
|
|
241
277
|
|
|
242
278
|
RxJS MCP Serverは以下と組み合わせて使用できます:
|
package/README.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# RxJS MCP Server
|
|
2
2
|
|
|
3
|
+
**[日本語版 README はこちら](README.ja.md)**
|
|
4
|
+
|
|
5
|
+
<!-- Package meta -->
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/@shuji-bonji/rxjs-mcp)
|
|
8
|
+
[](https://www.npmjs.com/package/@shuji-bonji/rxjs-mcp)
|
|
9
|
+
[](./LICENSE)
|
|
10
|
+
[](https://nodejs.org/)
|
|
11
|
+
|
|
12
|
+
<!-- Build / trust -->
|
|
13
|
+
|
|
14
|
+
[](https://github.com/shuji-bonji/rxjs-mcp-server/actions/workflows/ci.yml)
|
|
15
|
+
[](https://github.com/shuji-bonji/rxjs-mcp-server/actions/workflows/release.yml)
|
|
16
|
+
[](https://docs.npmjs.com/generating-provenance-statements)
|
|
17
|
+
[](https://docs.npmjs.com/trusted-publishers)
|
|
18
|
+
|
|
19
|
+
<!-- Tech stack -->
|
|
20
|
+
|
|
21
|
+
[](https://www.typescriptlang.org/)
|
|
22
|
+
[](https://rxjs.dev)
|
|
23
|
+
[](https://modelcontextprotocol.io)
|
|
24
|
+
[](./README.md#contributing)
|
|
25
|
+
|
|
3
26
|
> ⚠️ This is an unofficial community project, not affiliated with RxJS team.
|
|
4
27
|
|
|
5
28
|
Execute, debug, and visualize RxJS streams directly from AI assistants like Claude.
|
|
@@ -7,30 +30,35 @@ Execute, debug, and visualize RxJS streams directly from AI assistants like Clau
|
|
|
7
30
|
## Features
|
|
8
31
|
|
|
9
32
|
### 🚀 Stream Execution
|
|
33
|
+
|
|
10
34
|
- Execute RxJS code and capture emissions
|
|
11
|
-
- Timeline visualization with timestamps
|
|
35
|
+
- Timeline visualization with timestamps
|
|
12
36
|
- Memory usage tracking
|
|
13
37
|
- Support for all major RxJS operators
|
|
14
38
|
|
|
15
39
|
### 📊 Marble Diagrams
|
|
40
|
+
|
|
16
41
|
- Generate ASCII marble diagrams
|
|
17
42
|
- Visualize stream behavior over time
|
|
18
43
|
- Automatic pattern detection
|
|
19
44
|
- Clear legend and explanations
|
|
20
45
|
|
|
21
46
|
### 🔍 Operator Analysis
|
|
47
|
+
|
|
22
48
|
- Analyze operator chains for performance
|
|
23
49
|
- Detect potential issues and bottlenecks
|
|
24
50
|
- Suggest alternative approaches
|
|
25
51
|
- Categorize operators by function
|
|
26
52
|
|
|
27
53
|
### 🛡️ Memory Leak Detection
|
|
54
|
+
|
|
28
55
|
- Identify unsubscribed subscriptions
|
|
29
56
|
- Detect missing cleanup patterns
|
|
30
57
|
- Framework-specific recommendations (Angular, React, Vue)
|
|
31
58
|
- Provide proper cleanup examples
|
|
32
59
|
|
|
33
60
|
### 💡 Pattern Suggestions
|
|
61
|
+
|
|
34
62
|
- Get battle-tested RxJS patterns
|
|
35
63
|
- Framework-specific implementations
|
|
36
64
|
- Common use cases covered:
|
|
@@ -104,11 +132,27 @@ Add to `~/.cursor/mcp.json`:
|
|
|
104
132
|
|
|
105
133
|
Execute RxJS code and capture stream emissions with timeline.
|
|
106
134
|
|
|
135
|
+
The tool accepts either an expression that evaluates to an Observable, or a
|
|
136
|
+
snippet ending in such an expression — `return` is optional.
|
|
137
|
+
|
|
107
138
|
```typescript
|
|
108
|
-
//
|
|
139
|
+
// ✅ Trailing expression (v0.2.0+): the last expression is returned implicitly
|
|
140
|
+
interval(100).pipe(
|
|
141
|
+
take(5),
|
|
142
|
+
map((x) => x * 2),
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
// ✅ Declaration + trailing reference
|
|
109
146
|
const stream$ = interval(100).pipe(
|
|
110
147
|
take(5),
|
|
111
|
-
map(x => x * 2)
|
|
148
|
+
map((x) => x * 2),
|
|
149
|
+
);
|
|
150
|
+
stream$;
|
|
151
|
+
|
|
152
|
+
// ✅ Explicit return (always works)
|
|
153
|
+
return interval(100).pipe(
|
|
154
|
+
take(5),
|
|
155
|
+
map((x) => x * 2),
|
|
112
156
|
);
|
|
113
157
|
```
|
|
114
158
|
|
|
@@ -121,8 +165,8 @@ Generate ASCII marble diagrams from event data.
|
|
|
121
165
|
[
|
|
122
166
|
{ time: 0, value: 'A' },
|
|
123
167
|
{ time: 50, value: 'B' },
|
|
124
|
-
{ time: 100, value: 'C' }
|
|
125
|
-
]
|
|
168
|
+
{ time: 100, value: 'C' },
|
|
169
|
+
];
|
|
126
170
|
|
|
127
171
|
// Output: A----B----C--|
|
|
128
172
|
```
|
|
@@ -134,11 +178,11 @@ Analyze RxJS operator chains for performance and best practices.
|
|
|
134
178
|
```typescript
|
|
135
179
|
// Analyzes chains like:
|
|
136
180
|
source$.pipe(
|
|
137
|
-
map(x => x * 2),
|
|
138
|
-
filter(x => x > 10),
|
|
139
|
-
switchMap(x => fetchData(x)),
|
|
140
|
-
retry(3)
|
|
141
|
-
)
|
|
181
|
+
map((x) => x * 2),
|
|
182
|
+
filter((x) => x > 10),
|
|
183
|
+
switchMap((x) => fetchData(x)),
|
|
184
|
+
retry(3),
|
|
185
|
+
);
|
|
142
186
|
```
|
|
143
187
|
|
|
144
188
|
### detect_memory_leak
|
|
@@ -158,6 +202,7 @@ Detect potential memory leaks and missing cleanup.
|
|
|
158
202
|
Get production-ready patterns for common use cases.
|
|
159
203
|
|
|
160
204
|
Available patterns:
|
|
205
|
+
|
|
161
206
|
- `http-retry` - Resilient HTTP with retry
|
|
162
207
|
- `search-typeahead` - Debounced search
|
|
163
208
|
- `polling` - Smart polling with backoff
|
|
@@ -220,6 +265,7 @@ Claude: I'll show you the search typeahead pattern.
|
|
|
220
265
|
## Security
|
|
221
266
|
|
|
222
267
|
The `execute_stream` tool runs user-provided code in an **isolated Worker thread** to prevent:
|
|
268
|
+
|
|
223
269
|
- Main process pollution
|
|
224
270
|
- Resource leaks from infinite loops or timers
|
|
225
271
|
- Access to sensitive Node.js APIs (process, fs, etc.)
|
|
@@ -248,9 +294,17 @@ npm run test:inspector # MCP Inspector (GUI)
|
|
|
248
294
|
npm run dev
|
|
249
295
|
```
|
|
250
296
|
|
|
297
|
+
## Release
|
|
298
|
+
|
|
299
|
+
Releases are automated via GitHub Actions and published to npm using
|
|
300
|
+
**Trusted Publisher (OIDC)** — no static tokens are used, and every release
|
|
301
|
+
carries an npm provenance attestation. See [RELEASING.md](./RELEASING.md)
|
|
302
|
+
for the full workflow (and initial npm setup).
|
|
303
|
+
|
|
251
304
|
## Integration with Other MCP Servers
|
|
252
305
|
|
|
253
306
|
RxJS MCP Server works great alongside:
|
|
307
|
+
|
|
254
308
|
- **Angular MCP** - For Angular project scaffolding
|
|
255
309
|
- **TypeScript MCP** - For type checking
|
|
256
310
|
- **ESLint MCP** - For code quality
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-operators.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-operators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAoD,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze-operators.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-operators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAoD,MAAM,aAAa,CAAC;AAgNnG,eAAO,MAAM,oBAAoB,EAAE,kBAoIlC,CAAC"}
|
|
@@ -42,30 +42,54 @@ function extractBalancedContent(code, startIndex) {
|
|
|
42
42
|
}
|
|
43
43
|
return '';
|
|
44
44
|
}
|
|
45
|
-
// Extract operators from code
|
|
45
|
+
// Extract operators from code.
|
|
46
|
+
// Operators are returned in the order they appear in the source code,
|
|
47
|
+
// so the displayed "Chain" accurately reflects what the user wrote.
|
|
46
48
|
function extractOperators(code) {
|
|
47
|
-
const
|
|
49
|
+
const occurrences = [];
|
|
48
50
|
// Find all .pipe( occurrences and extract their balanced content
|
|
49
51
|
const pipePattern = /\.pipe\s*\(/g;
|
|
50
52
|
let match;
|
|
51
53
|
while ((match = pipePattern.exec(code)) !== null) {
|
|
52
|
-
const
|
|
54
|
+
const pipeOpenParenIndex = match.index + match[0].length - 1;
|
|
55
|
+
const pipeContent = extractBalancedContent(code, pipeOpenParenIndex);
|
|
56
|
+
// +1 to move past the `(` itself; this makes occurrence indices comparable
|
|
57
|
+
// against the outer `code` positions later on.
|
|
58
|
+
const pipeContentStart = pipeOpenParenIndex + 1;
|
|
53
59
|
// Now search for operators in the pipe content
|
|
54
60
|
Object.keys(operatorDatabase).forEach(op => {
|
|
55
|
-
// Match operator name followed by ( with possible whitespace
|
|
61
|
+
// Match operator name followed by ( with possible whitespace.
|
|
62
|
+
// Use all matches (not just .test) so we can record each position.
|
|
56
63
|
const opRegex = new RegExp(`\\b${op}\\s*\\(`, 'g');
|
|
57
|
-
|
|
58
|
-
|
|
64
|
+
let opMatch;
|
|
65
|
+
while ((opMatch = opRegex.exec(pipeContent)) !== null) {
|
|
66
|
+
occurrences.push({
|
|
67
|
+
name: op,
|
|
68
|
+
index: pipeContentStart + opMatch.index,
|
|
69
|
+
});
|
|
59
70
|
}
|
|
60
71
|
});
|
|
61
72
|
}
|
|
62
73
|
// Also check for operators used with method chaining (legacy style)
|
|
63
74
|
Object.keys(operatorDatabase).forEach(op => {
|
|
64
75
|
const standaloneRegex = new RegExp(`\\.${op}\\s*\\(`, 'g');
|
|
65
|
-
|
|
66
|
-
|
|
76
|
+
let opMatch;
|
|
77
|
+
while ((opMatch = standaloneRegex.exec(code)) !== null) {
|
|
78
|
+
occurrences.push({ name: op, index: opMatch.index });
|
|
67
79
|
}
|
|
68
80
|
});
|
|
81
|
+
// Sort by occurrence order in the source, then deduplicate by name
|
|
82
|
+
// while keeping the first occurrence. This preserves the chain order
|
|
83
|
+
// the user actually wrote.
|
|
84
|
+
occurrences.sort((a, b) => a.index - b.index);
|
|
85
|
+
const seen = new Set();
|
|
86
|
+
const operators = [];
|
|
87
|
+
for (const occ of occurrences) {
|
|
88
|
+
if (!seen.has(occ.name)) {
|
|
89
|
+
seen.add(occ.name);
|
|
90
|
+
operators.push(occ.name);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
69
93
|
return operators;
|
|
70
94
|
}
|
|
71
95
|
// Analyze creation functions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-operators.js","sourceRoot":"","sources":["../../src/tools/analyze-operators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyze-operators.js","sourceRoot":"","sources":["../../src/tools/analyze-operators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Ensure the user-provided code returns an Observable.
|
|
3
|
+
*
|
|
4
|
+
* If the code does not contain a top-level `return` statement, we try to
|
|
5
|
+
* interpret the last top-level expression as the value to return. This lets
|
|
6
|
+
* users write natural code like:
|
|
7
|
+
* ```
|
|
8
|
+
* const s$ = interval(100).pipe(take(3));
|
|
9
|
+
* s$
|
|
10
|
+
* ```
|
|
11
|
+
* without having to explicitly write `return`.
|
|
12
|
+
*
|
|
13
|
+
* Existing code that uses `return` explicitly is left untouched (backward compat).
|
|
14
|
+
*/
|
|
15
|
+
export declare function ensureReturn(code: string): string;
|
|
2
16
|
//# sourceMappingURL=execute-stream-worker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-stream-worker.d.ts","sourceRoot":"","sources":["../../src/tools/execute-stream-worker.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"execute-stream-worker.d.ts","sourceRoot":"","sources":["../../src/tools/execute-stream-worker.ts"],"names":[],"mappings":"AAgFA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyCjD"}
|
|
@@ -5,6 +5,120 @@
|
|
|
5
5
|
import { parentPort, workerData } from 'worker_threads';
|
|
6
6
|
import { createExecutionContext, Observable, EMPTY } from '../data/rxjs-context.js';
|
|
7
7
|
import { take, tap, catchError, finalize } from 'rxjs';
|
|
8
|
+
/**
|
|
9
|
+
* Find the position of the last top-level semicolon in a code string.
|
|
10
|
+
* Skips semicolons inside strings, template literals, comments, and brackets.
|
|
11
|
+
* Returns -1 if no top-level semicolon is found.
|
|
12
|
+
*
|
|
13
|
+
* Note: template literal `${...}` interpolations are treated as opaque — we
|
|
14
|
+
* simply skip to the closing backtick. This is a pragmatic simplification;
|
|
15
|
+
* a `;` inside `${...}` would not be considered top-level anyway.
|
|
16
|
+
*/
|
|
17
|
+
function findTopLevelLastSemicolon(code) {
|
|
18
|
+
let depth = 0;
|
|
19
|
+
let inString = false;
|
|
20
|
+
let stringChar = '';
|
|
21
|
+
let inLineComment = false;
|
|
22
|
+
let inBlockComment = false;
|
|
23
|
+
let lastPos = -1;
|
|
24
|
+
for (let i = 0; i < code.length; i++) {
|
|
25
|
+
const ch = code[i];
|
|
26
|
+
const next = code[i + 1];
|
|
27
|
+
if (inLineComment) {
|
|
28
|
+
if (ch === '\n')
|
|
29
|
+
inLineComment = false;
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (inBlockComment) {
|
|
33
|
+
if (ch === '*' && next === '/') {
|
|
34
|
+
inBlockComment = false;
|
|
35
|
+
i++;
|
|
36
|
+
}
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (inString) {
|
|
40
|
+
if (ch === '\\') {
|
|
41
|
+
i++;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (ch === stringChar) {
|
|
45
|
+
inString = false;
|
|
46
|
+
stringChar = '';
|
|
47
|
+
}
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (ch === '/' && next === '/') {
|
|
51
|
+
inLineComment = true;
|
|
52
|
+
i++;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (ch === '/' && next === '*') {
|
|
56
|
+
inBlockComment = true;
|
|
57
|
+
i++;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (ch === '"' || ch === "'" || ch === '`') {
|
|
61
|
+
inString = true;
|
|
62
|
+
stringChar = ch;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (ch === '{' || ch === '(' || ch === '[') {
|
|
66
|
+
depth++;
|
|
67
|
+
}
|
|
68
|
+
else if (ch === '}' || ch === ')' || ch === ']') {
|
|
69
|
+
depth--;
|
|
70
|
+
}
|
|
71
|
+
else if (ch === ';' && depth === 0) {
|
|
72
|
+
lastPos = i;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return lastPos;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Ensure the user-provided code returns an Observable.
|
|
79
|
+
*
|
|
80
|
+
* If the code does not contain a top-level `return` statement, we try to
|
|
81
|
+
* interpret the last top-level expression as the value to return. This lets
|
|
82
|
+
* users write natural code like:
|
|
83
|
+
* ```
|
|
84
|
+
* const s$ = interval(100).pipe(take(3));
|
|
85
|
+
* s$
|
|
86
|
+
* ```
|
|
87
|
+
* without having to explicitly write `return`.
|
|
88
|
+
*
|
|
89
|
+
* Existing code that uses `return` explicitly is left untouched (backward compat).
|
|
90
|
+
*/
|
|
91
|
+
export function ensureReturn(code) {
|
|
92
|
+
const trimmed = code.trim();
|
|
93
|
+
if (trimmed.length === 0)
|
|
94
|
+
return code;
|
|
95
|
+
// If the code already contains a top-level `return` statement, leave it alone.
|
|
96
|
+
// The heuristic here is: `return` preceded by start-of-string, ;, {, }, or newline.
|
|
97
|
+
if (/(^|[;{}\n])\s*return(\s|;|\()/.test(trimmed)) {
|
|
98
|
+
return code;
|
|
99
|
+
}
|
|
100
|
+
// Strip trailing semicolons/whitespace so that we can locate the *last actual
|
|
101
|
+
// statement*. Without this, code like `a; b;` would leave an empty slice
|
|
102
|
+
// after the final `;` and we'd give up.
|
|
103
|
+
const withoutTrailingSemi = trimmed.replace(/[;\s]+$/, '');
|
|
104
|
+
if (withoutTrailingSemi.length === 0) {
|
|
105
|
+
return code;
|
|
106
|
+
}
|
|
107
|
+
const lastSemi = findTopLevelLastSemicolon(withoutTrailingSemi);
|
|
108
|
+
const lastStmt = (lastSemi >= 0 ? withoutTrailingSemi.slice(lastSemi + 1) : withoutTrailingSemi).trim();
|
|
109
|
+
if (lastStmt.length === 0) {
|
|
110
|
+
// Nothing meaningful found; leave code untouched. The worker will surface
|
|
111
|
+
// a proper "Code must return an Observable" error.
|
|
112
|
+
return code;
|
|
113
|
+
}
|
|
114
|
+
// Avoid rewriting statements that are declarations or control-flow keywords.
|
|
115
|
+
if (/^(const|let|var|function|class|if|for|while|switch|try|throw|import|export|async|await|do)\b/.test(lastStmt)) {
|
|
116
|
+
return code;
|
|
117
|
+
}
|
|
118
|
+
const prefix = lastSemi >= 0 ? withoutTrailingSemi.slice(0, lastSemi + 1) : '';
|
|
119
|
+
// Wrap the final expression in parentheses so that commas / arrows don't break parsing.
|
|
120
|
+
return `${prefix}\nreturn (${lastStmt});`;
|
|
121
|
+
}
|
|
8
122
|
/**
|
|
9
123
|
* Execute user-provided RxJS code in an isolated context
|
|
10
124
|
*/
|
|
@@ -28,15 +142,20 @@ async function executeCode(input) {
|
|
|
28
142
|
try {
|
|
29
143
|
// Create safe execution context with RxJS imports
|
|
30
144
|
const context = createExecutionContext();
|
|
145
|
+
// Normalize the code so users can optionally omit an explicit `return`.
|
|
146
|
+
// `ensureReturn` leaves existing `return` statements untouched.
|
|
147
|
+
const normalizedCode = ensureReturn(input.code);
|
|
31
148
|
// Create function with context
|
|
32
149
|
const func = new Function(...Object.keys(context), `
|
|
33
150
|
"use strict";
|
|
34
|
-
${
|
|
151
|
+
${normalizedCode}
|
|
35
152
|
`);
|
|
36
153
|
// Execute the function with context
|
|
37
154
|
const observable$ = func(...Object.values(context));
|
|
38
155
|
if (!(observable$ instanceof Observable)) {
|
|
39
|
-
throw new Error('Code must
|
|
156
|
+
throw new Error('Code must evaluate to an Observable. ' +
|
|
157
|
+
'Either end your snippet with an Observable expression (e.g. `source$`), ' +
|
|
158
|
+
'or add an explicit `return` (e.g. `return of(1, 2, 3);`).');
|
|
40
159
|
}
|
|
41
160
|
// Execute the observable with limits
|
|
42
161
|
await new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-stream-worker.js","sourceRoot":"","sources":["../../src/tools/execute-stream-worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEvD;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,KAAkB;IAC3C,MAAM,MAAM,GAAiB;QAC3B,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;SACR;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;IACnD,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC;IAExC,IAAI,CAAC;QACH,kDAAkD;QAClD,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QAEzC,+BAA+B;QAC/B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;;QAE/C,
|
|
1
|
+
{"version":3,"file":"execute-stream-worker.js","sourceRoot":"","sources":["../../src/tools/execute-stream-worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shuji-bonji/rxjs-mcp",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "RxJS MCP Server - Execute, debug, and visualize RxJS streams for AI assistants",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -27,15 +27,17 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"bin": {
|
|
30
|
-
"rxjs-mcp": "
|
|
30
|
+
"rxjs-mcp": "dist/index.js"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
33
|
"dist",
|
|
34
34
|
"README.md",
|
|
35
|
+
"README.ja.md",
|
|
36
|
+
"CHANGELOG.md",
|
|
35
37
|
"LICENSE"
|
|
36
38
|
],
|
|
37
39
|
"scripts": {
|
|
38
|
-
"build": "tsc",
|
|
40
|
+
"build": "tsc && chmod +x dist/index.js",
|
|
39
41
|
"dev": "tsx watch src/index.ts",
|
|
40
42
|
"start": "node dist/index.js",
|
|
41
43
|
"test": "vitest run",
|
|
@@ -59,7 +61,7 @@
|
|
|
59
61
|
"vitest": "^4.0.16"
|
|
60
62
|
},
|
|
61
63
|
"engines": {
|
|
62
|
-
"node": ">=
|
|
64
|
+
"node": ">=22.0.0"
|
|
63
65
|
},
|
|
64
66
|
"repository": {
|
|
65
67
|
"type": "git",
|