@rezti/dsh-rez-suite 0.1.36 → 0.1.37

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/lib/index.js CHANGED
@@ -2864,7 +2864,7 @@ function isLegalAssistantRoom(hint) {
2864
2864
  return roomFolderFromPath(hint) === LEGAL_ROOM_FOLDER;
2865
2865
  }
2866
2866
  function isQccToolName(name) {
2867
- return name.startsWith("mcp__qcc-") || name.startsWith("mcp__qcc__");
2867
+ return /^mcp__qcc(?:-|__|_)/.test(name);
2868
2868
  }
2869
2869
  function readCwdFromObject(value) {
2870
2870
  if (typeof value !== "object" || value === null) return void 0;
@@ -2921,9 +2921,14 @@ function mcpToolPrefix(server) {
2921
2921
  }
2922
2922
  /** Count tools whose public name belongs to one composed MCP server. */
2923
2923
  function countMcpTools(toolNames, server) {
2924
- const prefix = mcpToolPrefix(server);
2925
2924
  let count = 0;
2926
- for (const name of toolNames) if (name.startsWith(prefix)) count += 1;
2925
+ for (const name of toolNames) {
2926
+ if (server === "qcc") {
2927
+ if (isQccToolName(name)) count += 1;
2928
+ continue;
2929
+ }
2930
+ if (name.startsWith(mcpToolPrefix(server))) count += 1;
2931
+ }
2927
2932
  return count;
2928
2933
  }
2929
2934
  function listRegisteredToolNames(tools) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rezti/dsh-rez-suite",
3
3
  "description": "ReZ-TI one-package install for DeepSeek Harness. Update with: dsh plugin --profile web update @rezti/dsh-rez-suite",
4
- "version": "0.1.36",
4
+ "version": "0.1.37",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": "^22.19.0 || >=24.0.0"
@@ -8,7 +8,7 @@
8
8
 
9
9
  import { lastMcpStartError, REZ_CREDENTIAL_REFS, secretConfigured, type RezSystem } from '@rezti/dsh-rez-sso'
10
10
  import type { RezConfig, RezServerStatus, RezTestResult } from './protocol.ts'
11
- import { isLegalAssistantRoom, QCC_STATUS_ROOM_OFF } from './rooms.ts'
11
+ import { isLegalAssistantRoom, isQccToolName, QCC_STATUS_ROOM_OFF } from './rooms.ts'
12
12
 
13
13
  export const COMPOSED_SERVERS = ['odoo', 'nextcloud', 'wechat', 'homeassistant', 'tapd', 'gsc', 'qcc', 'tianyancha'] as const
14
14
 
@@ -21,10 +21,13 @@ export function mcpToolPrefix(server: string): string {
21
21
 
22
22
  /** Count tools whose public name belongs to one composed MCP server. */
23
23
  export function countMcpTools(toolNames: readonly string[], server: string): number {
24
- const prefix = mcpToolPrefix(server)
25
24
  let count = 0
26
25
  for (const name of toolNames) {
27
- if (name.startsWith(prefix)) count += 1
26
+ if (server === 'qcc') {
27
+ if (isQccToolName(name)) count += 1
28
+ continue
29
+ }
30
+ if (name.startsWith(mcpToolPrefix(server))) count += 1
28
31
  }
29
32
  return count
30
33
  }
package/src/rooms.ts CHANGED
@@ -25,7 +25,7 @@ export function isLegalAssistantRoom(hint: string | undefined): boolean {
25
25
  }
26
26
 
27
27
  export function isQccToolName(name: string): boolean {
28
- return name.startsWith('mcp__qcc-') || name.startsWith('mcp__qcc__')
28
+ return /^mcp__qcc(?:-|__|_)/.test(name)
29
29
  }
30
30
 
31
31
  function readCwdFromObject(value: unknown): string | undefined {