@hileeon/mcc 0.1.8 → 0.2.0

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.
Files changed (102) hide show
  1. package/README.md +229 -127
  2. package/dist/accounts/store.d.ts +12 -0
  3. package/dist/accounts/store.d.ts.map +1 -1
  4. package/dist/accounts/store.js.map +1 -1
  5. package/dist/commands/launch.d.ts +9 -0
  6. package/dist/commands/launch.d.ts.map +1 -0
  7. package/dist/commands/launch.js +162 -0
  8. package/dist/commands/launch.js.map +1 -0
  9. package/dist/commands/mcp.d.ts +9 -0
  10. package/dist/commands/mcp.d.ts.map +1 -0
  11. package/dist/commands/mcp.js +112 -0
  12. package/dist/commands/mcp.js.map +1 -0
  13. package/dist/commands/profile-test.d.ts +17 -0
  14. package/dist/commands/profile-test.d.ts.map +1 -0
  15. package/dist/commands/profile-test.js +188 -0
  16. package/dist/commands/profile-test.js.map +1 -0
  17. package/dist/commands/profile.d.ts +8 -0
  18. package/dist/commands/profile.d.ts.map +1 -0
  19. package/dist/commands/profile.js +125 -0
  20. package/dist/commands/profile.js.map +1 -0
  21. package/dist/core/model-router.d.ts.map +1 -1
  22. package/dist/core/model-router.js +36 -3
  23. package/dist/core/model-router.js.map +1 -1
  24. package/dist/{dashboard-server.d.ts → dashboard/server.d.ts} +1 -1
  25. package/dist/dashboard/server.d.ts.map +1 -0
  26. package/dist/{dashboard-server.js → dashboard/server.js} +254 -48
  27. package/dist/dashboard/server.js.map +1 -0
  28. package/dist/mcc.d.ts +4 -2
  29. package/dist/mcc.d.ts.map +1 -1
  30. package/dist/mcc.js +127 -408
  31. package/dist/mcc.js.map +1 -1
  32. package/dist/mcp/installer.d.ts.map +1 -1
  33. package/dist/mcp/installer.js +5 -2
  34. package/dist/mcp/installer.js.map +1 -1
  35. package/dist/mcp/mcp-config.d.ts +33 -3
  36. package/dist/mcp/mcp-config.d.ts.map +1 -1
  37. package/dist/mcp/mcp-config.js +81 -29
  38. package/dist/mcp/mcp-config.js.map +1 -1
  39. package/dist/proxy/proxy-daemon.d.ts +1 -1
  40. package/dist/proxy/proxy-daemon.d.ts.map +1 -1
  41. package/dist/proxy/proxy-daemon.js +27 -7
  42. package/dist/proxy/proxy-daemon.js.map +1 -1
  43. package/dist/proxy/proxy-entry.js +11 -4
  44. package/dist/proxy/proxy-entry.js.map +1 -1
  45. package/dist/proxy/proxy-paths.d.ts +1 -0
  46. package/dist/proxy/proxy-paths.d.ts.map +1 -1
  47. package/dist/proxy/proxy-paths.js.map +1 -1
  48. package/dist/proxy/proxy-server.d.ts +1 -0
  49. package/dist/proxy/proxy-server.d.ts.map +1 -1
  50. package/dist/proxy/proxy-server.js +114 -6
  51. package/dist/proxy/proxy-server.js.map +1 -1
  52. package/dist/shared/config.d.ts +15 -0
  53. package/dist/shared/config.d.ts.map +1 -0
  54. package/dist/shared/config.js +79 -0
  55. package/dist/shared/config.js.map +1 -0
  56. package/dist/shared/logger.d.ts +23 -18
  57. package/dist/shared/logger.d.ts.map +1 -1
  58. package/dist/shared/logger.js +17 -178
  59. package/dist/shared/logger.js.map +1 -1
  60. package/dist/shared/provider-preset-catalog.d.ts +8 -2
  61. package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
  62. package/dist/shared/provider-preset-catalog.js +61 -31
  63. package/dist/shared/provider-preset-catalog.js.map +1 -1
  64. package/dist/shared/test-image.d.ts +15 -0
  65. package/dist/shared/test-image.d.ts.map +1 -0
  66. package/dist/shared/test-image.js +89 -0
  67. package/dist/shared/test-image.js.map +1 -0
  68. package/dist/ui/assets/index-7kowlJw9.js +40 -0
  69. package/dist/ui/assets/index-DnC-lskL.css +1 -0
  70. package/dist/ui/index.html +21 -13
  71. package/dist/update.d.ts +31 -0
  72. package/dist/update.d.ts.map +1 -0
  73. package/dist/update.js +196 -0
  74. package/dist/update.js.map +1 -0
  75. package/lib/mcp/mcc-image-analysis-server.cjs +454 -454
  76. package/lib/mcp/mcc-websearch-server.cjs +339 -339
  77. package/lib/mcp-hooks/image-analysis-runtime.cjs +563 -510
  78. package/lib/mcp-hooks/image-analyzer-transformer.cjs +526 -526
  79. package/lib/mcp-hooks/websearch-transformer.cjs +1597 -1421
  80. package/lib/proxy/config/config-loader-facade.js +24 -24
  81. package/lib/proxy/glmt/delta-accumulator.js +362 -362
  82. package/lib/proxy/glmt/glmt-transformer.js +203 -203
  83. package/lib/proxy/glmt/index.js +40 -40
  84. package/lib/proxy/glmt/locale-enforcer.js +68 -68
  85. package/lib/proxy/glmt/pipeline/content-transformer.js +161 -161
  86. package/lib/proxy/glmt/pipeline/index.js +19 -19
  87. package/lib/proxy/glmt/pipeline/request-transformer.js +115 -115
  88. package/lib/proxy/glmt/pipeline/response-builder.js +204 -204
  89. package/lib/proxy/glmt/pipeline/stream-parser.js +233 -233
  90. package/lib/proxy/glmt/pipeline/tool-call-handler.js +77 -77
  91. package/lib/proxy/glmt/pipeline/types.js +5 -5
  92. package/lib/proxy/glmt/reasoning-enforcer.js +150 -150
  93. package/lib/proxy/glmt/sse-parser.js +101 -101
  94. package/lib/proxy/services/logging.js +13 -13
  95. package/lib/proxy/transformers/request-transformer.js +471 -471
  96. package/lib/proxy/transformers/sse-stream-transformer.js +198 -198
  97. package/lib/shared/logger.cjs +160 -138
  98. package/package.json +58 -41
  99. package/dist/dashboard-server.d.ts.map +0 -1
  100. package/dist/dashboard-server.js.map +0 -1
  101. package/dist/ui/assets/index-B16lhKZ6.js +0 -40
  102. package/dist/ui/assets/index-jEfiB6-h.css +0 -1
@@ -49,6 +49,7 @@ const module_1 = require("module");
49
49
  const path = __importStar(require("path"));
50
50
  const upstream_url_1 = require("./upstream-url");
51
51
  const proxy_paths_1 = require("./proxy-paths");
52
+ const logger_1 = require("../shared/logger");
52
53
  // Load compiled JS modules from CCS (copied to lib/proxy/)
53
54
  const libProxyDir = path.resolve(__dirname, '..', '..', 'lib', 'proxy');
54
55
  const requireFromLib = (0, module_1.createRequire)(path.join(libProxyDir, 'noop.js'));
@@ -137,13 +138,97 @@ function validateAuth(headers, expectedToken) {
137
138
  return extractIncomingToken(headers) === expectedToken;
138
139
  }
139
140
  // --- Request Translation ---
141
+ /**
142
+ * Build the provider-specific reasoning/thinking params to inject upstream.
143
+ *
144
+ * The generic transformer only knows `reasoning_effort`, which Qwen ignores and
145
+ * which can't carry GLM's `thinking` object. So we re-derive the params per
146
+ * upstream dialect (detected by host) to get thinking ON by default at the
147
+ * configured intensity:
148
+ * - Qwen (dashscope) → enable_thinking + thinking_budget (tokens)
149
+ * - GLM (bigmodel) → thinking{type:enabled} + reasoning_effort
150
+ * - generic → reasoning_effort (max/xhigh clamped to high — most
151
+ * OpenAI-compat providers 400 on unknown effort values)
152
+ */
153
+ function buildReasoningInjection(baseUrl, effort) {
154
+ const host = baseUrl.toLowerCase();
155
+ const isQwen = host.includes('dashscope');
156
+ const isGlm = host.includes('bigmodel');
157
+ if (effort === 'off') {
158
+ // GLM defaults thinking ON, so disabling must be explicit; others default
159
+ // off (Qwen) or are model-controlled, so omitting the param is enough.
160
+ return isGlm ? { thinking: { type: 'disabled' } } : {};
161
+ }
162
+ if (isQwen) {
163
+ const budget = { low: 4096, medium: 16384, high: 32768, max: 81920 };
164
+ return { enable_thinking: true, thinking_budget: budget[effort] ?? 32768 };
165
+ }
166
+ if (isGlm) {
167
+ // GLM-5.x accepts low/medium/high/max/xhigh directly.
168
+ return { thinking: { type: 'enabled' }, reasoning_effort: effort };
169
+ }
170
+ const clamped = effort === 'max' || effort === 'xhigh' ? 'high' : effort;
171
+ return { reasoning_effort: clamped };
172
+ }
173
+ const EFFORT_VALUES = new Set(['low', 'medium', 'high', 'max']);
174
+ /** Normalize an effort string Claude Code may send (low/medium/high/max/xhigh/auto). */
175
+ function normEffort(e) {
176
+ if (typeof e !== 'string')
177
+ return undefined;
178
+ const v = e.trim().toLowerCase();
179
+ if (v === 'xhigh')
180
+ return 'max';
181
+ return EFFORT_VALUES.has(v) ? v : undefined; // 'auto' / unknown ⇒ fall back
182
+ }
183
+ /** Map a legacy thinking budget_tokens to a coarse effort bucket. */
184
+ function budgetToEffort(b) {
185
+ if (b >= 24000)
186
+ return 'max';
187
+ if (b >= 8000)
188
+ return 'high';
189
+ if (b >= 2000)
190
+ return 'medium';
191
+ return 'low';
192
+ }
193
+ /**
194
+ * Resolve the effort to use, treating Claude Code's own thinking signal as the
195
+ * source of truth (so the user's /effort + Tab toggle map straight through):
196
+ * - thinking disabled → 'off'
197
+ * - thinking adaptive → output_config.effort (Claude Code's dial)
198
+ * - thinking enabled w/ budget → bucketed from budget_tokens
199
+ * - nothing usable from client → the profile default (keeps thinking on)
200
+ */
201
+ function resolveEffort(rawBody, profileDefault) {
202
+ const thinking = rawBody.thinking;
203
+ const oc = rawBody.output_config;
204
+ if (thinking?.type === 'disabled')
205
+ return 'off';
206
+ if (thinking?.type === 'enabled' && typeof thinking.budget_tokens === 'number') {
207
+ return budgetToEffort(thinking.budget_tokens);
208
+ }
209
+ // adaptive, enabled-without-budget, or no thinking field: prefer the effort
210
+ // Claude Code attached, else the profile's configured default.
211
+ return normEffort(oc?.effort) ?? profileDefault;
212
+ }
140
213
  function buildUpstreamRequest(rawBody, options) {
141
214
  const transformer = new ProxyRequestTransformer();
142
215
  const transformed = transformer.transform(rawBody);
216
+ // Strip fields standard OpenAI-compat providers don't accept (metadata) and
217
+ // the transformer's coarse reasoning_effort — we re-inject per dialect below.
218
+ const { metadata: _metadata, reasoning_effort: _droppedEffort, ...rest } = transformed;
219
+ // Claude Code drives the thinking intensity; the profile's reasoningEffort is
220
+ // only the fallback when the client sends no usable signal.
221
+ const effort = resolveEffort(rawBody, options.reasoningEffort || 'high');
222
+ const reasoning = buildReasoningInjection(options.baseUrl, effort);
223
+ // GLM only accepts tool_choice "auto"; clamp anything else to avoid a 400.
224
+ if (options.baseUrl.toLowerCase().includes('bigmodel') && 'tool_choice' in rest && rest.tool_choice !== 'auto') {
225
+ rest.tool_choice = 'auto';
226
+ }
143
227
  const body = {
144
- ...transformed,
145
- model: transformed.model || options.model || 'gpt-4',
146
- stream: transformed.stream === true,
228
+ ...rest,
229
+ ...reasoning,
230
+ model: rest.model || options.model || 'gpt-4',
231
+ stream: rest.stream === true,
147
232
  };
148
233
  return JSON.stringify(body);
149
234
  }
@@ -233,11 +318,20 @@ async function handleMessages(req, res, options) {
233
318
  await pipeWebResponseToNode(transformer.error(401, 'authentication_error', 'Missing or invalid local proxy token'), res);
234
319
  return;
235
320
  }
236
- let timeoutMs = REQUEST_TIMEOUT_MS;
321
+ const timeoutMs = REQUEST_TIMEOUT_MS;
237
322
  try {
238
323
  const rawBody = await readJsonBody(req);
324
+ // Log request summary
325
+ const reqModel = typeof rawBody.model === 'string' ? rawBody.model : '(none)';
326
+ const msgCount = Array.isArray(rawBody.messages) ? rawBody.messages.length : 0;
327
+ const isStream = rawBody.stream === true;
328
+ logger_1.log.info('PROXY', `→ /v1/messages model=${reqModel} msgs=${msgCount} stream=${isStream}`);
239
329
  const upstreamBody = buildUpstreamRequest(rawBody, options);
240
330
  const upstreamUrl = (0, upstream_url_1.resolveOpenAIChatCompletionsUrl)(options.baseUrl, options.chatCompletionsPath);
331
+ if ((0, logger_1.isDebugEnabled)()) {
332
+ logger_1.log.debug('PROXY', `upstream url: ${upstreamUrl}`);
333
+ logger_1.log.debug('PROXY', `upstream body: ${upstreamBody.slice(0, 2000)}`);
334
+ }
241
335
  const controller = new AbortController();
242
336
  const timeout = setTimeout(() => controller.abort(), timeoutMs);
243
337
  // Client disconnect detection
@@ -259,8 +353,21 @@ async function handleMessages(req, res, options) {
259
353
  body: upstreamBody,
260
354
  signal: controller.signal,
261
355
  });
262
- const response = await transformer.transform(upstreamResponse);
263
- await pipeWebResponseToNode(response, res);
356
+ if (upstreamResponse.status >= 400) {
357
+ // Buffer error body for logging, then reconstruct for transformer
358
+ const errorText = await upstreamResponse.text();
359
+ logger_1.log.error('PROXY', `← ${upstreamResponse.status} upstream error: ${errorText.slice(0, 500)}`);
360
+ const headers = new Headers();
361
+ upstreamResponse.headers.forEach((v, k) => headers.set(k, v));
362
+ const reconstructed = new Response(errorText, { status: upstreamResponse.status, headers });
363
+ const response = await transformer.transform(reconstructed);
364
+ await pipeWebResponseToNode(response, res);
365
+ }
366
+ else {
367
+ logger_1.log.info('PROXY', `← ${upstreamResponse.status} OK`);
368
+ const response = await transformer.transform(upstreamResponse);
369
+ await pipeWebResponseToNode(response, res);
370
+ }
264
371
  }
265
372
  finally {
266
373
  clearTimeout(timeout);
@@ -274,6 +381,7 @@ async function handleMessages(req, res, options) {
274
381
  const errorMessage = isAbort
275
382
  ? `The upstream provider did not respond within ${timeoutMs / 1000} seconds`
276
383
  : message;
384
+ logger_1.log.error('PROXY', `request failed: ${message}`);
277
385
  await pipeWebResponseToNode(transformer.error(status, type, errorMessage), res);
278
386
  }
279
387
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-server.js","sourceRoot":"","sources":["../../src/proxy/proxy-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-server.js","sourceRoot":"","sources":["../../src/proxy/proxy-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * MCC global config — ~/.mcc/config.json
3
+ *
4
+ * General per-user settings that don't belong in a profile. Today: the update
5
+ * notifier toggle and the package-manager hint used by `mcc update`.
6
+ */
7
+ export interface MccConfig {
8
+ updateCheck?: boolean;
9
+ packageManager?: 'npm' | 'pnpm' | 'yarn' | 'bun';
10
+ }
11
+ export declare function readConfig(): MccConfig;
12
+ export declare function writeConfig(cfg: MccConfig): void;
13
+ export declare function isUpdateCheckEnabled(): boolean;
14
+ export declare function setUpdateCheck(enabled: boolean): void;
15
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;CAClD;AAUD,wBAAgB,UAAU,IAAI,SAAS,CAQtC;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAIhD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIrD"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * MCC global config — ~/.mcc/config.json
4
+ *
5
+ * General per-user settings that don't belong in a profile. Today: the update
6
+ * notifier toggle and the package-manager hint used by `mcc update`.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.readConfig = readConfig;
43
+ exports.writeConfig = writeConfig;
44
+ exports.isUpdateCheckEnabled = isUpdateCheckEnabled;
45
+ exports.setUpdateCheck = setUpdateCheck;
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ function getMccHome() {
49
+ return process.env.MCC_HOME ?? path.join(process.env.HOME ?? process.env.USERPROFILE ?? '~', '.mcc');
50
+ }
51
+ function getConfigPath() {
52
+ return path.join(getMccHome(), 'config.json');
53
+ }
54
+ function readConfig() {
55
+ const p = getConfigPath();
56
+ if (!fs.existsSync(p))
57
+ return {};
58
+ try {
59
+ return JSON.parse(fs.readFileSync(p, 'utf8'));
60
+ }
61
+ catch {
62
+ return {};
63
+ }
64
+ }
65
+ function writeConfig(cfg) {
66
+ const home = getMccHome();
67
+ if (!fs.existsSync(home))
68
+ fs.mkdirSync(home, { recursive: true });
69
+ fs.writeFileSync(getConfigPath(), JSON.stringify(cfg, null, 2));
70
+ }
71
+ function isUpdateCheckEnabled() {
72
+ return readConfig().updateCheck !== false;
73
+ }
74
+ function setUpdateCheck(enabled) {
75
+ const cfg = readConfig();
76
+ cfg.updateCheck = enabled;
77
+ writeConfig(cfg);
78
+ }
79
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBH,gCAQC;AAED,kCAIC;AAED,oDAEC;AAED,wCAIC;AAxCD,uCAAyB;AACzB,2CAA6B;AAO7B,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAc,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,GAAc;IACxC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,oBAAoB;IAClC,OAAO,UAAU,EAAE,CAAC,WAAW,KAAK,KAAK,CAAC;AAC5C,CAAC;AAED,SAAgB,cAAc,CAAC,OAAgB;IAC7C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;IAC1B,WAAW,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC"}
@@ -1,23 +1,28 @@
1
1
  /**
2
- * MCC Logger (TypeScript)
2
+ * MCC Logger (TypeScript thin shell)
3
3
  *
4
- * lib/shared/logger.cjs TS 版本,编译到 dist/shared/logger.js
5
- * 逻辑完全一致,只是加了类型。
4
+ * Single source of truth lives in lib/shared/logger.cjs it must stay CJS
5
+ * because MCP runtime hooks (also CJS) require it directly from
6
+ * ~/.mcc/shared/logger.cjs after installer copies it over.
7
+ *
8
+ * This file exists only to give src/ TypeScript code typed access to that impl.
9
+ * Runtime resolution: dist/shared/logger.js → ../../lib/shared/logger.cjs
10
+ * (the same relative path works both in dev and after npm publish, since
11
+ * package.json `files` ships both dist/ and lib/).
6
12
  */
7
- declare function getLogDir(): string;
8
- export declare function init(sessionId: string, logDir?: string): string;
9
- export declare function initFromEnv(): void;
10
- declare const log: {
11
- error: (c: string, m: string) => void;
12
- warn: (c: string, m: string) => void;
13
- info: (c: string, m: string) => void;
14
- debug: (c: string, m: string) => void;
15
- init: typeof init;
16
- initFromEnv: typeof initFromEnv;
13
+ export interface Logger {
14
+ error: (component: string, message: string) => void;
15
+ warn: (component: string, message: string) => void;
16
+ info: (component: string, message: string) => void;
17
+ debug: (component: string, message: string) => void;
18
+ init: (sessionId: string, logDir?: string) => string;
19
+ initFromEnv: () => void;
17
20
  getSessionId: () => string;
18
- getLogDir: typeof getLogDir;
19
- };
20
- export { log };
21
- export declare function isDebugEnabled(): boolean;
22
- export declare function makeSessionId(): string;
21
+ getLogDir: () => string;
22
+ }
23
+ export declare const log: Logger;
24
+ export declare const init: (sessionId: string, logDir?: string) => string;
25
+ export declare const initFromEnv: () => void;
26
+ export declare const isDebugEnabled: () => boolean;
27
+ export declare const makeSessionId: () => string;
23
28
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwBH,iBAAS,SAAS,IAAI,MAAM,CAO3B;AA+DD,wBAAgB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAW/D;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAGD,QAAA,MAAM,GAAG;eACM,MAAM,KAAK,MAAM;cACjB,MAAM,KAAK,MAAM;cACjB,MAAM,KAAK,MAAM;eACjB,MAAM,KAAK,MAAM;;;;;CAK/B,CAAC;AACF,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAItC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,IAAI,EAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,IAAI,EAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,GAAG,EAAE,MAAa,CAAC;AAChC,eAAO,MAAM,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAkB,CAAC;AAC9E,eAAO,MAAM,WAAW,EAAE,MAAM,IAAuB,CAAC;AACxD,eAAO,MAAM,cAAc,EAAE,MAAM,OAA6B,CAAC;AACjE,eAAO,MAAM,aAAa,EAAE,MAAM,MAA2B,CAAC"}
@@ -1,184 +1,23 @@
1
1
  "use strict";
2
2
  /**
3
- * MCC Logger (TypeScript)
3
+ * MCC Logger (TypeScript thin shell)
4
4
  *
5
- * lib/shared/logger.cjs TS 版本,编译到 dist/shared/logger.js
6
- * 逻辑完全一致,只是加了类型。
5
+ * Single source of truth lives in lib/shared/logger.cjs it must stay CJS
6
+ * because MCP runtime hooks (also CJS) require it directly from
7
+ * ~/.mcc/shared/logger.cjs after installer copies it over.
8
+ *
9
+ * This file exists only to give src/ TypeScript code typed access to that impl.
10
+ * Runtime resolution: dist/shared/logger.js → ../../lib/shared/logger.cjs
11
+ * (the same relative path works both in dev and after npm publish, since
12
+ * package.json `files` ships both dist/ and lib/).
7
13
  */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
14
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.log = void 0;
43
- exports.init = init;
44
- exports.initFromEnv = initFromEnv;
45
- exports.isDebugEnabled = isDebugEnabled;
46
- exports.makeSessionId = makeSessionId;
47
- const fs = __importStar(require("fs"));
48
- const path = __importStar(require("path"));
49
- const os = __importStar(require("os"));
50
- const LEVELS = { error: 0, warn: 1, info: 2, debug: 3 };
51
- function env(key, fallback) {
52
- return process.env[key] ?? fallback;
53
- }
54
- function levelValue(level) {
55
- return LEVELS[level?.toLowerCase()] ?? LEVELS.info;
56
- }
57
- let _sessionId = '';
58
- let _logDir = '';
59
- let _currentFile = '';
60
- let _currentSize = 0;
61
- let _maxSize = 5 * 1024 * 1024;
62
- let _maxFiles = 3;
63
- let _minLevel = LEVELS.info;
64
- function getLogDir() {
65
- if (_logDir)
66
- return _logDir;
67
- const logDirEnv = env('MCC_LOG_DIR', '');
68
- if (logDirEnv)
69
- return logDirEnv;
70
- const mccHome = env('MCC_HOME', path.join(os.homedir(), '.mcc'));
71
- const profile = env('MCC_CURRENT_PROFILE', 'default');
72
- return path.join(mccHome, 'logs', profile, _sessionId || 'nosession');
73
- }
74
- function getLogPath() {
75
- return path.join(getLogDir(), 'mcc.log');
76
- }
77
- function rotate() {
78
- const logPath = getLogPath();
79
- if (!fs.existsSync(logPath))
80
- return;
81
- try {
82
- fs.unlinkSync(`${logPath}.${_maxFiles}`);
83
- }
84
- catch { }
85
- for (let i = _maxFiles - 1; i >= 1; i--) {
86
- const from = `${logPath}.${i}`;
87
- const to = `${logPath}.${i + 1}`;
88
- try {
89
- if (fs.existsSync(from))
90
- fs.renameSync(from, to);
91
- }
92
- catch { }
93
- }
94
- try {
95
- fs.renameSync(logPath, `${logPath}.1`);
96
- }
97
- catch { }
98
- _currentSize = 0;
99
- _currentFile = '';
100
- }
101
- function ensureDir() {
102
- const dir = getLogDir();
103
- if (!fs.existsSync(dir))
104
- fs.mkdirSync(dir, { recursive: true, mode: 0o755 });
105
- return dir;
106
- }
107
- function writeFile(line) {
108
- if (!_sessionId)
109
- return;
110
- ensureDir();
111
- const logPath = getLogPath();
112
- const lineBytes = Buffer.byteLength(line, 'utf8') + 1;
113
- if (_currentFile !== logPath || _currentSize + lineBytes > _maxSize) {
114
- rotate();
115
- }
116
- try {
117
- fs.appendFileSync(logPath, line + '\n', { mode: 0o644 });
118
- _currentFile = logPath;
119
- _currentSize += lineBytes;
120
- }
121
- catch (err) {
122
- process.stderr.write(`[logger] write failed: ${err.message}\n`);
123
- }
124
- }
125
- function timestamp() {
126
- const now = new Date();
127
- const p = (n, l = 2) => String(n).padStart(l, '0');
128
- return `${now.getFullYear()}-${p(now.getMonth() + 1)}-${p(now.getDate())} ` +
129
- `${p(now.getHours())}:${p(now.getMinutes())}:${p(now.getSeconds())}.${p(now.getMilliseconds(), 3)}`;
130
- }
131
- function format(level, message, component) {
132
- const sid = _sessionId ? `[${_sessionId}]` : '';
133
- const comp = component ? `[${component}]` : '';
134
- return `${timestamp()} ${(level || 'info').toUpperCase().padEnd(5)} ${sid}${comp} ${message}`;
135
- }
136
- function write(level, component, message) {
137
- if (levelValue(level) > _minLevel)
138
- return;
139
- const line = format(level, message, component);
140
- process.stderr.write(line + '\n');
141
- writeFile(line);
142
- }
143
- function init(sessionId, logDir) {
144
- _sessionId = sessionId;
145
- _logDir = logDir || '';
146
- _currentFile = '';
147
- _currentSize = 0;
148
- _minLevel = levelValue(env('MCC_LOG_LEVEL', 'info'));
149
- _maxSize = parseInt(env('MCC_LOG_MAX_SIZE', ''), 10) || 5 * 1024 * 1024;
150
- _maxFiles = parseInt(env('MCC_LOG_MAX_FILES', ''), 10) || 3;
151
- const dir = ensureDir();
152
- try {
153
- fs.writeFileSync(path.join(dir, '.session'), `${sessionId}\n${Date.now()}\n`, { mode: 0o644 });
154
- }
155
- catch { }
156
- return dir;
157
- }
158
- function initFromEnv() {
159
- const sid = env('MCC_LOG_SESSION_ID', '');
160
- const dir = env('MCC_LOG_DIR', '');
161
- if (sid)
162
- init(sid, dir);
163
- }
164
- // --- 统一 API:log.info(component, message) ---
165
- const log = {
166
- error: (c, m) => write('error', m, c),
167
- warn: (c, m) => write('warn', m, c),
168
- info: (c, m) => write('info', m, c),
169
- debug: (c, m) => write('debug', m, c),
170
- init,
171
- initFromEnv,
172
- getSessionId: () => _sessionId,
173
- getLogDir,
174
- };
175
- exports.log = log;
176
- function isDebugEnabled() {
177
- return _minLevel >= LEVELS.debug;
178
- }
179
- function makeSessionId() {
180
- const now = new Date();
181
- const p = (n, l = 2) => String(n).padStart(l, '0');
182
- return `${now.getFullYear()}-${p(now.getMonth() + 1)}-${p(now.getDate())}_${p(now.getHours())}-${p(now.getMinutes())}-${p(now.getSeconds())}`;
183
- }
15
+ exports.makeSessionId = exports.isDebugEnabled = exports.initFromEnv = exports.init = exports.log = void 0;
16
+ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
17
+ const impl = require('../../lib/shared/logger.cjs');
18
+ exports.log = impl;
19
+ exports.init = impl.init;
20
+ exports.initFromEnv = impl.initFromEnv;
21
+ exports.isDebugEnabled = impl.isDebugEnabled;
22
+ exports.makeSessionId = impl.makeSessionId;
184
23
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,qGAAqG;AACrG,MAAM,IAAI,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAavC,QAAA,GAAG,GAAW,IAAI,CAAC;AACnB,QAAA,IAAI,GAAmD,IAAI,CAAC,IAAI,CAAC;AACjE,QAAA,WAAW,GAAe,IAAI,CAAC,WAAW,CAAC;AAC3C,QAAA,cAAc,GAAkB,IAAI,CAAC,cAAc,CAAC;AACpD,QAAA,aAAa,GAAiB,IAAI,CAAC,aAAa,CAAC"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export type PresetCategory = 'recommended' | 'alternative';
8
8
  export type ProviderPresetTarget = 'claude' | 'droid';
9
- export declare const PROVIDER_PRESET_IDS: readonly ["openrouter", "alibaba-coding-plan", "huggingface", "ollama", "llamacpp", "anthropic", "glm", "km", "foundry", "mm", "deepseek", "qwen", "ollama-cloud", "novita", "bigmodel"];
9
+ export declare const PROVIDER_PRESET_IDS: readonly ["openrouter", "alibaba-coding-plan", "huggingface", "ollama", "llamacpp", "anthropic", "glm", "km", "foundry", "mm", "deepseek", "qwen", "xiaomi-mimo", "ollama-cloud", "novita", "bigmodel"];
10
10
  export type ProviderPresetId = (typeof PROVIDER_PRESET_IDS)[number];
11
11
  export interface ProviderPresetDefinition {
12
12
  id: ProviderPresetId;
@@ -26,10 +26,16 @@ export interface ProviderPresetDefinition {
26
26
  alwaysThinkingEnabled?: boolean;
27
27
  /** Override default /v1/chat/completions proxy path (e.g. '/chat/completions' for BigModel) */
28
28
  proxyChatCompletionsPath?: string;
29
+ /** Default thinking intensity; undefined ⇒ 'high' (thinking on). */
30
+ reasoningEffort?: 'off' | 'low' | 'medium' | 'high' | 'max';
31
+ /** Tiered model defaults — let Claude Code's /model picker route Opus/Sonnet/Haiku
32
+ * to provider-specific models. Empty fields fall back to `defaultModel`. */
33
+ opusModel?: string;
34
+ sonnetModel?: string;
35
+ haikuModel?: string;
29
36
  /** UI metadata */
30
37
  badge?: string;
31
38
  featured?: boolean;
32
- icon?: string;
33
39
  }
34
40
  export declare const OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1";
35
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"provider-preset-catalog.d.ts","sourceRoot":"","sources":["../../src/shared/provider-preset-catalog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAC3D,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD,eAAO,MAAM,mBAAmB,0LAgBtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,gBAAgB,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mCAAmC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,+FAA+F;IAC/F,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAM7E,CAAC;AAwRH,eAAO,MAAM,2BAA2B,EAAE,SAAS,wBAAwB,EAE1E,CAAC;AAEF,wBAAgB,+BAA+B,IAAI,wBAAwB,EAAE,CAE5E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG5D"}
1
+ {"version":3,"file":"provider-preset-catalog.d.ts","sourceRoot":"","sources":["../../src/shared/provider-preset-catalog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAC3D,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD,eAAO,MAAM,mBAAmB,yMAiBtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,gBAAgB,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mCAAmC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,+FAA+F;IAC/F,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oEAAoE;IACpE,eAAe,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IAC5D;iFAC6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAQ7E,CAAC;AAmTH,eAAO,MAAM,2BAA2B,EAAE,SAAS,wBAAwB,EAE1E,CAAC;AAEF,wBAAgB,+BAA+B,IAAI,wBAAwB,EAAE,CAE5E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG5D"}