@modootoday/datalab-extension-mcp 1.11.4 → 1.11.5

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.en.md CHANGED
@@ -61,7 +61,7 @@ One command finds **every** AI app on your computer and connects them automatica
61
61
  2. **Paste this command and press Enter.** The saved command names an exact bootstrap version. At startup and while idle, the connector checks the canonical release and promotes itself to the current secure, compatible version. Diagnostic environments can opt out with `--no-self-update`.
62
62
 
63
63
  ```
64
- npx -y @modootoday/datalab-extension-mcp@1.11.4 install
64
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 install
65
65
  ```
66
66
 
67
67
  Lines of English scrolling by is normal. This only downloads and runs the connector — it touches nothing else.
@@ -151,10 +151,10 @@ diagnosis, Place reputation, Pumasi, photo/video production, and automatic tool
151
151
  discovery. Press Enter to keep the recommended set.
152
152
 
153
153
  ```
154
- npx -y @modootoday/datalab-extension-mcp@1.11.4 skills list
155
- npx -y @modootoday/datalab-extension-mcp@1.11.4 skills status
156
- npx -y @modootoday/datalab-extension-mcp@1.11.4 skills attach <name>
157
- npx -y @modootoday/datalab-extension-mcp@1.11.4 skills detach <name>
154
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 skills list
155
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 skills status
156
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 skills attach <name>
157
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 skills detach <name>
158
158
  ```
159
159
 
160
160
  - `list` shows everything in this version, name and description.
@@ -275,7 +275,7 @@ Start it again after a full quit and it picks the tools up. If they still aren't
275
275
  - **When the connection disappears** — run the very command you used at the start once more; it safely re-registers. (Some AI apps clean up their settings file and drop the connection.)
276
276
 
277
277
  ```
278
- npx -y @modootoday/datalab-extension-mcp@1.11.4 install
278
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 install
279
279
  ```
280
280
 
281
281
  - **`'npx' is not recognized...`** — Node.js isn't installed. Follow "No Node.js?" in Step 2, then run the command again.
@@ -305,7 +305,7 @@ Start it again after a full quit and it picks the tools up. If they still aren't
305
305
  1. Run this in a terminal (it removes the entries registered in your AI apps).
306
306
 
307
307
  ```
308
- npx -y @modootoday/datalab-extension-mcp@1.11.4 uninstall
308
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 uninstall
309
309
  ```
310
310
 
311
311
  2. Turn **MCP 연결** off in the extension settings. The panel is the bridge, so with it off a leftover config line can look nothing up.
package/README.md CHANGED
@@ -55,7 +55,7 @@ Claude 같은 AI 앱을 데이터랩툴즈에 연결해 주는 작은 무료 프
55
55
  2. **아래 명령을 붙여넣고 Enter를 눌러요.** 저장되는 명령은 정확한 시작 버전을 적습니다. 연결 프로그램은 시작할 때와 유휴 상태에서 정본 릴리스를 확인해 현재의 안전하고 호환되는 버전으로 승격합니다. 진단 환경에서는 `--no-self-update`로 승격을 끌 수 있어요.
56
56
 
57
57
  ```
58
- npx -y @modootoday/datalab-extension-mcp@1.11.4 install
58
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 install
59
59
  ```
60
60
 
61
61
  영어 글자가 여러 줄 올라오는 건 정상이에요. 이 명령은 연결 프로그램을 다운로드해 실행할 뿐, 다른 건 건드리지 않아요.
@@ -137,10 +137,10 @@ Claude 같은 AI 앱을 데이터랩툴즈에 연결해 주는 작은 무료 프
137
137
  도움말을 번호로 여러 개 고를 수 있어요. Enter를 누르면 추천 구성만 설치됩니다.
138
138
 
139
139
  ```
140
- npx -y @modootoday/datalab-extension-mcp@1.11.4 skills list
141
- npx -y @modootoday/datalab-extension-mcp@1.11.4 skills status
142
- npx -y @modootoday/datalab-extension-mcp@1.11.4 skills attach <이름>
143
- npx -y @modootoday/datalab-extension-mcp@1.11.4 skills detach <이름>
140
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 skills list
141
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 skills status
142
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 skills attach <이름>
143
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 skills detach <이름>
144
144
  ```
145
145
 
146
146
  - `list` 는 이 버전에 들어 있는 전부를 이름과 설명으로 보여 줘요.
@@ -242,7 +242,7 @@ AI가 "그런 기능은 없다" 고 답하면, **"숨은 도구를 찾아보고
242
242
  - **연결이 사라졌을 때** — 처음 실행했던 그 명령을 한 번 더 실행하면 안전하게 다시 등록돼요. (일부 AI 앱이 설정 파일을 정리하며 연결을 지우기도 해요.)
243
243
 
244
244
  ```
245
- npx -y @modootoday/datalab-extension-mcp@1.11.4 install
245
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 install
246
246
  ```
247
247
 
248
248
  - **`'npx'을(는) 내부 또는 외부 명령...`** — Node.js가 없는 거예요. 위 2단계의 "Node.js가 없다면"을 따라 설치한 뒤 다시 실행해요.
@@ -272,7 +272,7 @@ AI가 "그런 기능은 없다" 고 답하면, **"숨은 도구를 찾아보고
272
272
  1. 터미널에서 아래 명령을 실행해요(AI 앱에 등록된 설정을 지워 줘요).
273
273
 
274
274
  ```
275
- npx -y @modootoday/datalab-extension-mcp@1.11.4 uninstall
275
+ npx -y @modootoday/datalab-extension-mcp@1.11.5 uninstall
276
276
  ```
277
277
 
278
278
  2. 확장 설정에서 **MCP 연결을 꺼요.** 패널이 브릿지라, 꺼 두면 어딘가 설정 줄이 남아 있어도 AI 앱이 아무것도 조회할 수 없어요.
@@ -43488,6 +43488,7 @@ function createAdapterServer(deps = {}) {
43488
43488
  }
43489
43489
  });
43490
43490
  async function handleToolList() {
43491
+ await deps.ready;
43491
43492
  let resp;
43492
43493
  try {
43493
43494
  resp = await postMcp(fetchImpl, mcpUrl, "tools/list");
@@ -43527,6 +43528,7 @@ function createAdapterServer(deps = {}) {
43527
43528
  });
43528
43529
  async function handleToolCall(request) {
43529
43530
  const { name, arguments: args } = request.params;
43531
+ await deps.ready;
43530
43532
  let resp;
43531
43533
  try {
43532
43534
  resp = await postMcp(fetchImpl, mcpUrl, "tools/call", {
@@ -43688,16 +43690,20 @@ async function runAdapter(deps = {}) {
43688
43690
  });
43689
43691
  }
43690
43692
  const ensure = deps.ensure ?? ensureDaemonRunning;
43691
- await ensure({
43693
+ const log = deps.log ?? defaultLog;
43694
+ const ready = ensure({
43692
43695
  host: deps.host,
43693
43696
  port: deps.port,
43694
43697
  log: deps.log,
43695
43698
  selfVersion: deps.version
43699
+ }).catch((err) => {
43700
+ log(`could not start the connector service: ${describeError(err)}`);
43696
43701
  });
43697
43702
  const flight = { count: 0 };
43698
43703
  const watchMs = deps.watchIntervalMs ?? DEFAULT_WATCH_MS;
43699
43704
  const server = createAdapterServer({
43700
43705
  ...deps,
43706
+ ready,
43701
43707
  onActivity: countRequests(flight, deps.onActivity)
43702
43708
  });
43703
43709
  const watch = deps.selfUpdate === false ? null : setInterval(() => {
@@ -43736,14 +43742,16 @@ async function runAdapter(deps = {}) {
43736
43742
  stdin.once("end", endSession);
43737
43743
  stdin.once("close", endSession);
43738
43744
  }
43739
- void pushToolChanges({
43740
- mcpUrl: `http://${host}:${port}/mcp`,
43741
- notifyHost: () => server.notification({ method: "notifications/tools/list_changed" }).catch(() => {
43742
- }),
43743
- subscribe: deps.subscribe,
43744
- log: deps.log,
43745
- signal: controller.signal
43746
- });
43745
+ void ready.then(
43746
+ () => pushToolChanges({
43747
+ mcpUrl: `http://${host}:${port}/mcp`,
43748
+ notifyHost: () => server.notification({ method: "notifications/tools/list_changed" }).catch(() => {
43749
+ }),
43750
+ subscribe: deps.subscribe,
43751
+ log: deps.log,
43752
+ signal: controller.signal
43753
+ })
43754
+ );
43747
43755
  }
43748
43756
  async function dispatchCli(argv, handlers) {
43749
43757
  const sub = argv[2];
@@ -43767,6 +43775,7 @@ async function dispatchCli(argv, handlers) {
43767
43775
  }
43768
43776
 
43769
43777
  export {
43778
+ resolveConfig,
43770
43779
  runDaemon,
43771
43780
  ensureDaemonRunning,
43772
43781
  createAdapterServer,
package/dist/cli.js CHANGED
@@ -1,9 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  dispatchCli,
4
+ resolveConfig,
4
5
  runAdapter,
5
6
  runDaemon
6
- } from "./chunk-RF6L4PSA.js";
7
+ } from "./chunk-T2CKB454.js";
7
8
  import "./chunk-MLKGABMK.js";
8
9
 
9
10
  // src/cli.ts
@@ -54,13 +55,18 @@ async function main() {
54
55
  serve: () => {
55
56
  runDaemon(process.env);
56
57
  },
57
- adapter: () => runAdapter({
58
- name: NAME,
59
- version: VERSION,
60
- // The host config pins an exact version, so without this a paired user
61
- // never receives a release. `--no-self-update` keeps this build.
62
- selfUpdate: !process.argv.slice(2).includes("--no-self-update")
63
- }),
58
+ adapter: () => {
59
+ const env = resolveConfig(process.env);
60
+ return runAdapter({
61
+ name: NAME,
62
+ version: VERSION,
63
+ host: env.ok ? env.config.host : void 0,
64
+ port: env.ok ? env.config.port : void 0,
65
+ // The host config pins an exact version, so without this a paired user
66
+ // never receives a release. `--no-self-update` keeps this build.
67
+ selfUpdate: !process.argv.slice(2).includes("--no-self-update")
68
+ });
69
+ },
64
70
  // Loaded lazily, like the installer: an MCP host spawning the adapter must
65
71
  // not pay to resolve a command only an operator types.
66
72
  skills: async (argv) => {
package/dist/index.d.ts CHANGED
@@ -104,6 +104,8 @@ interface AdapterServerDeps {
104
104
  * tests; defaults to `ensureDaemonRunning`.
105
105
  */
106
106
  revive?: (deps: EnsureRunningDeps) => Promise<void>;
107
+ /** Settles once the start-up daemon check is done; calls wait on it, the handshake does not. */
108
+ ready?: Promise<void>;
107
109
  }
108
110
  /**
109
111
  * Build the low-level MCP Server whose two handlers proxy to the daemon. The
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  dispatchCli,
4
4
  ensureDaemonRunning,
5
5
  runAdapter
6
- } from "./chunk-RF6L4PSA.js";
6
+ } from "./chunk-T2CKB454.js";
7
7
  import "./chunk-MLKGABMK.js";
8
8
  export {
9
9
  createAdapterServer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modootoday/datalab-extension-mcp",
3
- "version": "1.11.4",
3
+ "version": "1.11.5",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",