@uzqw/mcp 0.1.7 → 0.1.8

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/dist/index.js CHANGED
@@ -240,7 +240,7 @@ var require2 = createRequire(import.meta.url);
240
240
  var MCP_VERSION = require2("../package.json").version;
241
241
  var sub = process.argv[2];
242
242
  if (sub === "install" || sub === "uninstall") {
243
- const { runInstall, runUninstall, parseEnvFlag } = await import("./install-D7FNIM42.js");
243
+ const { runInstall, runUninstall, parseEnvFlag } = await import("./install-5NYCT73T.js");
244
244
  const args = process.argv.slice(3);
245
245
  const yes = args.includes("--yes") || args.includes("-y");
246
246
  const noLogin = args.includes("--no-login");
@@ -268,12 +268,12 @@ var READ_ONLY2 = { readOnlyHint: true, destructiveHint: false, openWorldHint: tr
268
268
  server.registerTool(
269
269
  "login",
270
270
  {
271
- description: "\u767B\u5F55 Recolx\uFF08OAuth PKCE\uFF09\uFF1A\u6253\u5F00\u6D4F\u89C8\u5668\u8DF3\u8F6C\u6388\u6743\u9875\uFF0C\u540C\u610F\u540E\u5728\u672C\u5730 8199 \u56DE\u8C03\u6536\u53D6 token \u5E76\u5199\u5165 ~/.recolx/tokens-mcp-{env}.json\uFF08\u6BCF\u73AF\u5883\u72EC\u7ACB\uFF09\uFF1B\u5DF2\u767B\u5F55\u65F6\u76F4\u63A5\u8FD4\u56DE",
271
+ description: "\u767B\u5F55 Recolx\uFF08OAuth PKCE\uFF09\uFF1A\u6253\u5F00\u6D4F\u89C8\u5668\u8DF3\u8F6C\u6388\u6743\u9875\uFF0C\u540C\u610F\u540E\u5728\u672C\u5730 8199 \u56DE\u8C03\u6536\u53D6 token \u5E76\u5199\u5165 ~/.recolx/tokens-mcp-{env}.json\uFF08\u6BCF\u73AF\u5883\u72EC\u7ACB\uFF09\uFF1B\u5DF2\u767B\u5F55\u65F6\u76F4\u63A5\u8FD4\u56DE\u3002\u767B\u51FA\u540E\u7B2C\u4E00\u6B21 login \u4F1A\u81EA\u52A8\u5F3A\u5236\u91CD\u65B0\u8BA4\u8BC1\uFF08\u5F39 Logto \u9875\uFF09\uFF0C\u65E0\u9700\u989D\u5916\u53C2\u6570",
272
272
  annotations: { title: "\u767B\u5F55 Recolx", ...READ_ONLY2 },
273
273
  inputSchema: LoginInput
274
274
  },
275
275
  async (args = {}) => {
276
- if (!args.force) {
276
+ if (!args.force && !await client.auth.isForceLoginPending()) {
277
277
  const existingToken = await client.auth.getAccessToken();
278
278
  if (existingToken) {
279
279
  try {
@@ -282,7 +282,7 @@ server.registerTool(
282
282
  content: [
283
283
  {
284
284
  type: "text",
285
- text: "\u5DF2\u767B\u5F55\u3002\u82E5\u4F60\u60F3\u5207\u6362\u8D26\u53F7\uFF0C\u8BF7\u7528 login(force: true) \u5F3A\u5236\u91CD\u65B0\u8BA4\u8BC1\uFF08\u6D4F\u89C8\u5668\u4F1A\u5F39\u51FA\u767B\u5F55\u9875\uFF0C\u53EF\u6362\u53F7\uFF09\u3002"
285
+ text: "\u5DF2\u767B\u5F55\u3002\u60F3\u6362\u8D26\u53F7\uFF1A\u5148 logout \u518D login\uFF08\u4F1A\u81EA\u52A8\u5F3A\u5236\u91CD\u65B0\u8BA4\u8BC1\u5F39\u51FA\u767B\u5F55\u9875\uFF09\uFF0C\u6216\u76F4\u63A5 login(force: true)\u3002"
286
286
  }
287
287
  ]
288
288
  };
@@ -297,7 +297,7 @@ server.registerTool(
297
297
  }
298
298
  }
299
299
  const devUserId = process.env.RECOLX_DEV_USER_ID;
300
- const authReq = client.auth.createAuthorizationRequest(devUserId ? { user_id: devUserId } : args.force ? { prompt: "login" } : {});
300
+ const authReq = await client.auth.createAuthorizationRequest(devUserId ? { user_id: devUserId } : args.force ? { prompt: "login" } : {});
301
301
  const authUrlFile = process.env.RECOLX_DEV_AUTH_URL_FILE;
302
302
  const result = await runOAuthCallback({
303
303
  port: CALLBACK_PORT,
@@ -363,22 +363,15 @@ server.registerTool(
363
363
  },
364
364
  async () => {
365
365
  const existingToken = await client.auth.getAccessToken();
366
- if (!existingToken) {
367
- return { content: [{ type: "text", text: "\u5C1A\u672A\u767B\u5F55\u3002" }] };
368
- }
369
- try {
370
- await client.revokeCurrentUser();
371
- } catch {
366
+ if (existingToken) {
367
+ try {
368
+ await client.revokeCurrentUser();
369
+ } catch {
370
+ }
372
371
  }
373
372
  await client.auth.logout();
374
- return {
375
- content: [
376
- {
377
- type: "text",
378
- text: "\u5DF2\u767B\u51FA\u5E76\u64A4\u9500 Recolx \u6388\u6743\uFF08\u672C\u5730 token \u5DF2\u5220\u9664\uFF09\u3002\u6CE8\u610F\uFF1A\u6D4F\u89C8\u5668\u91CC test-auth.recolx.ai \u7684 Logto \u4F1A\u8BDD\u4E0D\u53D7\u5F71\u54CD\u2014\u2014\u518D\u6B21 login \u4F1A SSO \u79D2\u8FC7\uFF1B\u8981\u6362\u8D26\u53F7\u8BF7\u7528 login(force: true)\u3002"
379
- }
380
- ]
381
- };
373
+ const text = existingToken ? "\u5DF2\u767B\u51FA\u5E76\u64A4\u9500 Recolx \u6388\u6743\uFF08\u672C\u5730 token \u5DF2\u5220\u9664\uFF09\u3002\u4E0B\u6B21 login \u4F1A\u81EA\u52A8\u5F3A\u5236\u91CD\u65B0\u8BA4\u8BC1\uFF1A\u6D4F\u89C8\u5668\u5F39\u51FA Logto \u767B\u5F55\u9875\uFF0C\u53EF\u76F4\u63A5\u6362\u8D26\u53F7\u3002" : "\u5C1A\u672A\u767B\u5F55\uFF08\u672C\u5730\u65E0 token\uFF09\u3002\u5DF2\u6807\u8BB0\uFF1A\u4E0B\u6B21 login \u4F1A\u8D70\u5F3A\u5236\u91CD\u65B0\u8BA4\u8BC1\uFF08\u5F39 Logto \u767B\u5F55\u9875\uFF09\u3002";
374
+ return { content: [{ type: "text", text }] };
382
375
  }
383
376
  );
384
377
  registerTools(server, client);
@@ -453,7 +453,7 @@ function pickIdentity(user) {
453
453
  async function runLogin() {
454
454
  const client = new RecolxClient({});
455
455
  const devUserId = process.env.RECOLX_DEV_USER_ID;
456
- const authReq = client.auth.createAuthorizationRequest(devUserId ? { user_id: devUserId } : {});
456
+ const authReq = await client.auth.createAuthorizationRequest(devUserId ? { user_id: devUserId } : {});
457
457
  const authUrlFile = process.env.RECOLX_DEV_AUTH_URL_FILE;
458
458
  const result = await runOAuthCallback({
459
459
  port: CALLBACK_PORT,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uzqw/mcp",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Recolx read-only MCP server (stdio) — 7 read-only tools, readOnlyHint: true",
5
5
  "mcpName": "io.github.uzqw/recolx-mcp",
6
6
  "publishConfig": {