@kaitranntt/ccs 7.31.0-dev.1 → 7.31.1-dev.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.
@@ -1 +1 @@
1
- {"version":3,"file":"cliproxy-executor.d.ts","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqBH,OAAO,EAAE,gBAAgB,EAAwC,cAAc,EAAE,MAAM,SAAS,CAAC;AAkFjG;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC,CAi5Bf;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAepE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,GAAE,MAA8B,EACzC,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"cliproxy-executor.d.ts","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqBH,OAAO,EAAE,gBAAgB,EAAwC,cAAc,EAAE,MAAM,SAAS,CAAC;AAmFjG;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC,CAi8Bf;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAepE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,GAAE,MAA8B,EACzC,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,eAAe,sBAAsB,CAAC"}
@@ -53,6 +53,7 @@ const proxy_config_resolver_1 = require("./proxy-config-resolver");
53
53
  const websearch_manager_1 = require("../utils/websearch-manager");
54
54
  const model_catalog_1 = require("./model-catalog");
55
55
  const codex_reasoning_proxy_1 = require("./codex-reasoning-proxy");
56
+ const tool_sanitization_proxy_1 = require("./tool-sanitization-proxy");
56
57
  const account_manager_1 = require("./account-manager");
57
58
  const platform_commands_1 = require("../utils/platform-commands");
58
59
  const websearch_manager_2 = require("../utils/websearch-manager");
@@ -732,6 +733,35 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
732
733
  // Apply thinking configuration to model (auto tier-based or manual override)
733
734
  // This adds thinking suffix like model(high) or model(8192) for CLIProxyAPIPlus
734
735
  (0, config_generator_1.applyThinkingConfig)(envVars, provider, thinkingOverride);
736
+ // Tool sanitization proxy - applies to ALL CLIProxy providers.
737
+ // Sanitizes MCP tool names exceeding Gemini's 64-char limit.
738
+ // Chain: Claude CLI → ToolSanitizationProxy → [CodexReasoningProxy] → CLIProxy → Gemini
739
+ let toolSanitizationProxy = null;
740
+ let toolSanitizationPort = null;
741
+ if (envVars.ANTHROPIC_BASE_URL) {
742
+ try {
743
+ toolSanitizationProxy = new tool_sanitization_proxy_1.ToolSanitizationProxy({
744
+ upstreamBaseUrl: envVars.ANTHROPIC_BASE_URL,
745
+ verbose,
746
+ warnOnSanitize: true,
747
+ });
748
+ toolSanitizationPort = await toolSanitizationProxy.start();
749
+ log(`Tool sanitization proxy active on port ${toolSanitizationPort}`);
750
+ }
751
+ catch (error) {
752
+ // Non-fatal: continue without sanitization
753
+ const err = error;
754
+ toolSanitizationProxy = null;
755
+ toolSanitizationPort = null;
756
+ if (verbose) {
757
+ console.error((0, ui_1.warn)(`Tool sanitization proxy disabled: ${err.message}`));
758
+ }
759
+ }
760
+ }
761
+ // Determine the effective upstream URL after tool sanitization
762
+ const postSanitizationBaseUrl = toolSanitizationPort
763
+ ? `http://127.0.0.1:${toolSanitizationPort}`
764
+ : envVars.ANTHROPIC_BASE_URL;
735
765
  // Codex-only: inject OpenAI reasoning effort based on tier model mapping.
736
766
  // Maps by request.model:
737
767
  // - OPUS/default model → xhigh
@@ -741,7 +771,7 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
741
771
  let codexReasoningProxy = null;
742
772
  let codexReasoningPort = null;
743
773
  if (provider === 'codex') {
744
- if (!envVars.ANTHROPIC_BASE_URL) {
774
+ if (!postSanitizationBaseUrl) {
745
775
  log('ANTHROPIC_BASE_URL not set for Codex, reasoning proxy disabled');
746
776
  }
747
777
  else {
@@ -752,7 +782,7 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
752
782
  // because remote CLIProxyAPI uses root paths (/v1/messages), not provider-prefixed
753
783
  const stripPathPrefix = useRemoteProxy ? '/api/provider/codex' : undefined;
754
784
  codexReasoningProxy = new codex_reasoning_proxy_1.CodexReasoningProxy({
755
- upstreamBaseUrl: envVars.ANTHROPIC_BASE_URL,
785
+ upstreamBaseUrl: postSanitizationBaseUrl,
756
786
  verbose,
757
787
  defaultEffort: 'medium',
758
788
  traceFilePath: traceEnabled
@@ -779,12 +809,21 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
779
809
  }
780
810
  }
781
811
  }
782
- const effectiveEnvVars = codexReasoningProxy && codexReasoningPort
783
- ? {
784
- ...envVars,
785
- ANTHROPIC_BASE_URL: `http://127.0.0.1:${codexReasoningPort}/api/provider/codex`,
786
- }
787
- : envVars;
812
+ // Determine the final ANTHROPIC_BASE_URL based on active proxies
813
+ // Chain order: Claude CLI → [CodexReasoningProxy] → [ToolSanitizationProxy] → CLIProxy
814
+ // The outermost active proxy becomes the effective base URL
815
+ let finalBaseUrl = envVars.ANTHROPIC_BASE_URL;
816
+ if (toolSanitizationPort) {
817
+ finalBaseUrl = `http://127.0.0.1:${toolSanitizationPort}`;
818
+ }
819
+ if (codexReasoningPort) {
820
+ // Codex reasoning proxy is the outermost layer for codex provider
821
+ finalBaseUrl = `http://127.0.0.1:${codexReasoningPort}/api/provider/codex`;
822
+ }
823
+ const effectiveEnvVars = {
824
+ ...envVars,
825
+ ANTHROPIC_BASE_URL: finalBaseUrl,
826
+ };
788
827
  const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
789
828
  const env = {
790
829
  ...process.env,
@@ -793,14 +832,12 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
793
832
  CCS_PROFILE_TYPE: 'cliproxy', // Signal to WebSearch hook this is a third-party provider
794
833
  };
795
834
  log(`Claude env: ANTHROPIC_BASE_URL=${effectiveEnvVars.ANTHROPIC_BASE_URL}`);
796
- log(`Claude env: ANTHROPIC_MODEL=${effectiveEnvVars.ANTHROPIC_MODEL}`);
835
+ log(`Claude env: ANTHROPIC_MODEL=${envVars.ANTHROPIC_MODEL}`);
797
836
  if (Object.keys(webSearchEnv).length > 0) {
798
837
  log(`Claude env: WebSearch config=${JSON.stringify(webSearchEnv)}`);
799
838
  }
800
839
  // Log global env vars for visibility
801
- if (effectiveEnvVars.DISABLE_TELEMETRY ||
802
- effectiveEnvVars.DISABLE_ERROR_REPORTING ||
803
- effectiveEnvVars.DISABLE_BUG_COMMAND) {
840
+ if (envVars.DISABLE_TELEMETRY || envVars.DISABLE_ERROR_REPORTING || envVars.DISABLE_BUG_COMMAND) {
804
841
  log(`Claude env: Global env applied (telemetry/reporting disabled)`);
805
842
  }
806
843
  // Filter out CCS-specific flags before passing to Claude CLI
@@ -863,6 +900,9 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
863
900
  if (codexReasoningProxy) {
864
901
  codexReasoningProxy.stop();
865
902
  }
903
+ if (toolSanitizationProxy) {
904
+ toolSanitizationProxy.stop();
905
+ }
866
906
  if (httpsTunnel) {
867
907
  httpsTunnel.stop();
868
908
  }
@@ -883,6 +923,9 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
883
923
  if (codexReasoningProxy) {
884
924
  codexReasoningProxy.stop();
885
925
  }
926
+ if (toolSanitizationProxy) {
927
+ toolSanitizationProxy.stop();
928
+ }
886
929
  if (httpsTunnel) {
887
930
  httpsTunnel.stop();
888
931
  }
@@ -898,6 +941,9 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
898
941
  if (codexReasoningProxy) {
899
942
  codexReasoningProxy.stop();
900
943
  }
944
+ if (toolSanitizationProxy) {
945
+ toolSanitizationProxy.stop();
946
+ }
901
947
  if (httpsTunnel) {
902
948
  httpsTunnel.stop();
903
949
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cliproxy-executor.js","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliproxy-executor.js","sourceRoot":"","sources":["../../src/cliproxy/cliproxy-executor.ts"],"names":[],"mappings":"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"}
@@ -32,4 +32,10 @@ export type { ClaudeKey, ClaudeModel, ManagementClientConfig, ManagementHealthSt
32
32
  export { ManagementApiClient, createManagementClient } from './management-api-client';
33
33
  export type { SyncableProfile, SyncPreviewItem } from './sync';
34
34
  export { loadSyncableProfiles, mapProfileToClaudeKey, generateSyncPayload, generateSyncPreview, getSyncableProfileCount, isProfileSyncable, } from './sync';
35
+ export type { SanitizeResult } from './tool-name-sanitizer';
36
+ export { sanitizeToolName, isValidToolName, removeDuplicateSegments, smartTruncate, GEMINI_MAX_TOOL_NAME_LENGTH, } from './tool-name-sanitizer';
37
+ export type { Tool, ToolUseBlock, ContentBlock, SanitizationChange } from './tool-name-mapper';
38
+ export { ToolNameMapper } from './tool-name-mapper';
39
+ export type { ToolSanitizationProxyConfig } from './tool-sanitization-proxy';
40
+ export { ToolSanitizationProxy } from './tool-sanitization-proxy';
35
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cliproxy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cliproxy/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.configureProviderModel = exports.getCurrentModel = exports.hasUserSettings = exports.findModel = exports.getProviderCatalog = exports.supportsModelConfig = exports.MODEL_CATALOG = exports.clearConfigCache = exports.getEnvVarsFromConfig = exports.getModelMappingFromConfig = exports.loadBaseConfig = exports.CLIPROXY_CONFIG_VERSION = exports.CLIPROXY_DEFAULT_PORT = exports.deleteConfig = exports.configExists = exports.getBinDir = exports.getCliproxyConfigPath = exports.getAuthDir = exports.getProviderAuthDir = exports.getCliproxyDir = exports.getModelMapping = exports.getProviderConfig = exports.ensureProviderSettings = exports.getProviderSettingsPath = exports.getEffectiveEnvVars = exports.getClaudeEnvVars = exports.parseUserApiKeys = exports.configNeedsRegeneration = exports.regenerateConfig = exports.generateConfig = exports.getVersionPinPath = exports.isVersionPinned = exports.clearPinnedVersion = exports.savePinnedVersion = exports.getPinnedVersion = exports.fetchLatestCliproxyVersion = exports.installCliproxyVersion = exports.getInstalledCliproxyVersion = exports.getCLIProxyPath = exports.isCLIProxyInstalled = exports.ensureCLIProxyBinary = exports.BinaryManager = exports.CLIPROXY_VERSION = exports.getPlatformDescription = exports.isPlatformSupported = exports.getArchiveBinaryName = exports.getExecutableName = exports.getChecksumsUrl = exports.getDownloadUrl = exports.detectPlatform = void 0;
8
8
  exports.ManagementApiClient = exports.THINKING_BUDGET_DEFAULT_MIN = exports.THINKING_BUDGET_MAX = exports.THINKING_BUDGET_MIN = exports.THINKING_AUTO_VALUE = exports.THINKING_OFF_VALUES = exports.VALID_THINKING_TIERS = exports.VALID_THINKING_LEVELS = exports.THINKING_LEVEL_BUDGETS = exports.validateThinking = exports.getAuthSummary = exports.resetAuthToDefaults = exports.setVariantApiKey = exports.setGlobalManagementSecret = exports.setGlobalApiKey = exports.getEffectiveManagementSecret = exports.getEffectiveApiKey = exports.maskToken = exports.generateSecureToken = exports.withStartupLock = exports.acquireStartupLock = exports.reclaimOrphanedProxy = exports.waitForProxyHealthy = exports.detectRunningProxy = exports.getServiceStatus = exports.stopCliproxyService = exports.ensureCliproxyService = exports.TOGETHER_TEMPLATE = exports.OPENROUTER_TEMPLATE = exports.removeOpenAICompatProvider = exports.updateOpenAICompatProvider = exports.addOpenAICompatProvider = exports.getOpenAICompatProvider = exports.listOpenAICompatProviders = exports.fetchAccountQuota = exports.isCliproxyRunning = exports.fetchCliproxyStats = exports.displayAuthStatus = exports.getProviderTokenDir = exports.getOAuthConfig = exports.ensureAuth = exports.triggerOAuth = exports.clearAuth = exports.getAllAuthStatus = exports.getAuthStatus = exports.isAuthenticated = exports.findAvailablePort = exports.isPortAvailable = exports.execClaudeWithCLIProxy = exports.showCurrentConfig = void 0;
9
- exports.isProfileSyncable = exports.getSyncableProfileCount = exports.generateSyncPreview = exports.generateSyncPayload = exports.mapProfileToClaudeKey = exports.loadSyncableProfiles = exports.createManagementClient = void 0;
9
+ exports.ToolSanitizationProxy = exports.ToolNameMapper = exports.GEMINI_MAX_TOOL_NAME_LENGTH = exports.smartTruncate = exports.removeDuplicateSegments = exports.isValidToolName = exports.sanitizeToolName = exports.isProfileSyncable = exports.getSyncableProfileCount = exports.generateSyncPreview = exports.generateSyncPayload = exports.mapProfileToClaudeKey = exports.loadSyncableProfiles = exports.createManagementClient = void 0;
10
10
  // Platform detection
11
11
  var platform_detector_1 = require("./platform-detector");
12
12
  Object.defineProperty(exports, "detectPlatform", { enumerable: true, get: function () { return platform_detector_1.detectPlatform; } });
@@ -138,4 +138,14 @@ Object.defineProperty(exports, "generateSyncPayload", { enumerable: true, get: f
138
138
  Object.defineProperty(exports, "generateSyncPreview", { enumerable: true, get: function () { return sync_1.generateSyncPreview; } });
139
139
  Object.defineProperty(exports, "getSyncableProfileCount", { enumerable: true, get: function () { return sync_1.getSyncableProfileCount; } });
140
140
  Object.defineProperty(exports, "isProfileSyncable", { enumerable: true, get: function () { return sync_1.isProfileSyncable; } });
141
+ var tool_name_sanitizer_1 = require("./tool-name-sanitizer");
142
+ Object.defineProperty(exports, "sanitizeToolName", { enumerable: true, get: function () { return tool_name_sanitizer_1.sanitizeToolName; } });
143
+ Object.defineProperty(exports, "isValidToolName", { enumerable: true, get: function () { return tool_name_sanitizer_1.isValidToolName; } });
144
+ Object.defineProperty(exports, "removeDuplicateSegments", { enumerable: true, get: function () { return tool_name_sanitizer_1.removeDuplicateSegments; } });
145
+ Object.defineProperty(exports, "smartTruncate", { enumerable: true, get: function () { return tool_name_sanitizer_1.smartTruncate; } });
146
+ Object.defineProperty(exports, "GEMINI_MAX_TOOL_NAME_LENGTH", { enumerable: true, get: function () { return tool_name_sanitizer_1.GEMINI_MAX_TOOL_NAME_LENGTH; } });
147
+ var tool_name_mapper_1 = require("./tool-name-mapper");
148
+ Object.defineProperty(exports, "ToolNameMapper", { enumerable: true, get: function () { return tool_name_mapper_1.ToolNameMapper; } });
149
+ var tool_sanitization_proxy_1 = require("./tool-sanitization-proxy");
150
+ Object.defineProperty(exports, "ToolSanitizationProxy", { enumerable: true, get: function () { return tool_sanitization_proxy_1.ToolSanitizationProxy; } });
141
151
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cliproxy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cliproxy/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Tool Name Mapper
3
+ *
4
+ * Bidirectional mapping class to track original ↔ sanitized tool names.
5
+ * Used to restore original names in API responses after sanitization.
6
+ *
7
+ * Flow:
8
+ * 1. Request: registerTools() sanitizes names and stores mapping
9
+ * 2. Response: restoreToolUse() restores original names using mapping
10
+ */
11
+ /** MCP tool definition from Claude API */
12
+ export interface Tool {
13
+ name: string;
14
+ description?: string;
15
+ input_schema?: Record<string, unknown>;
16
+ [key: string]: unknown;
17
+ }
18
+ /** Tool use content block from Claude API response */
19
+ export interface ToolUseBlock {
20
+ type: 'tool_use';
21
+ id: string;
22
+ name: string;
23
+ input: Record<string, unknown>;
24
+ }
25
+ /** Content block from Claude API response (union type) */
26
+ export interface ContentBlock {
27
+ type: string;
28
+ [key: string]: unknown;
29
+ }
30
+ /** Record of a sanitization change */
31
+ export interface SanitizationChange {
32
+ original: string;
33
+ sanitized: string;
34
+ }
35
+ /**
36
+ * Bidirectional mapper for tool name sanitization.
37
+ *
38
+ * Maintains a per-request mapping between sanitized and original tool names.
39
+ * Must be cleared between requests to avoid memory leaks.
40
+ */
41
+ export declare class ToolNameMapper {
42
+ /** Map from sanitized name → original name */
43
+ private mapping;
44
+ /** List of all changes made during registration */
45
+ private changes;
46
+ /**
47
+ * Register tools and sanitize their names.
48
+ * Stores mapping for later restoration.
49
+ *
50
+ * @param tools Array of tool definitions
51
+ * @returns Array of tools with sanitized names
52
+ */
53
+ registerTools(tools: Tool[]): Tool[];
54
+ /**
55
+ * Restore original tool names in content blocks.
56
+ * Looks for tool_use blocks and restores their names.
57
+ *
58
+ * @param content Array of content blocks from API response
59
+ * @returns Array with restored tool names
60
+ */
61
+ restoreToolUse(content: ContentBlock[]): ContentBlock[];
62
+ /**
63
+ * Restore tool name in a single tool_use block.
64
+ * Useful for streaming responses.
65
+ *
66
+ * @param name The sanitized tool name
67
+ * @returns Original name if mapped, otherwise the input name
68
+ */
69
+ restoreName(name: string): string;
70
+ /**
71
+ * Check if any sanitization occurred during registration.
72
+ */
73
+ hasChanges(): boolean;
74
+ /**
75
+ * Get all sanitization changes for logging.
76
+ */
77
+ getChanges(): SanitizationChange[];
78
+ /**
79
+ * Get the number of tools that were sanitized.
80
+ */
81
+ getChangeCount(): number;
82
+ /**
83
+ * Clear all mappings. Call between requests.
84
+ */
85
+ clear(): void;
86
+ }
87
+ //# sourceMappingURL=tool-name-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-name-mapper.d.ts","sourceRoot":"","sources":["../../src/cliproxy/tool-name-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,0CAA0C;AAC1C,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sDAAsD;AACtD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,8CAA8C;IAC9C,OAAO,CAAC,OAAO,CAAkC;IAEjD,mDAAmD;IACnD,OAAO,CAAC,OAAO,CAA4B;IAE3C;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;IAoBpC;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;IAyBvD;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIjC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,UAAU,IAAI,kBAAkB,EAAE;IAIlC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * Tool Name Mapper
4
+ *
5
+ * Bidirectional mapping class to track original ↔ sanitized tool names.
6
+ * Used to restore original names in API responses after sanitization.
7
+ *
8
+ * Flow:
9
+ * 1. Request: registerTools() sanitizes names and stores mapping
10
+ * 2. Response: restoreToolUse() restores original names using mapping
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ToolNameMapper = void 0;
14
+ const tool_name_sanitizer_1 = require("./tool-name-sanitizer");
15
+ /**
16
+ * Bidirectional mapper for tool name sanitization.
17
+ *
18
+ * Maintains a per-request mapping between sanitized and original tool names.
19
+ * Must be cleared between requests to avoid memory leaks.
20
+ */
21
+ class ToolNameMapper {
22
+ constructor() {
23
+ /** Map from sanitized name → original name */
24
+ this.mapping = new Map();
25
+ /** List of all changes made during registration */
26
+ this.changes = [];
27
+ }
28
+ /**
29
+ * Register tools and sanitize their names.
30
+ * Stores mapping for later restoration.
31
+ *
32
+ * @param tools Array of tool definitions
33
+ * @returns Array of tools with sanitized names
34
+ */
35
+ registerTools(tools) {
36
+ return tools.map((tool) => {
37
+ const result = (0, tool_name_sanitizer_1.sanitizeToolName)(tool.name);
38
+ if (result.changed) {
39
+ // Store mapping: sanitized → original
40
+ this.mapping.set(result.sanitized, tool.name);
41
+ this.changes.push({
42
+ original: tool.name,
43
+ sanitized: result.sanitized,
44
+ });
45
+ }
46
+ return {
47
+ ...tool,
48
+ name: result.sanitized,
49
+ };
50
+ });
51
+ }
52
+ /**
53
+ * Restore original tool names in content blocks.
54
+ * Looks for tool_use blocks and restores their names.
55
+ *
56
+ * @param content Array of content blocks from API response
57
+ * @returns Array with restored tool names
58
+ */
59
+ restoreToolUse(content) {
60
+ return content.map((block) => {
61
+ if (block.type !== 'tool_use') {
62
+ return block;
63
+ }
64
+ // Type guard: we know this is a tool_use block
65
+ const toolUseName = block.name;
66
+ if (!toolUseName) {
67
+ return block;
68
+ }
69
+ const originalName = this.mapping.get(toolUseName);
70
+ if (originalName) {
71
+ return {
72
+ ...block,
73
+ name: originalName,
74
+ };
75
+ }
76
+ return block;
77
+ });
78
+ }
79
+ /**
80
+ * Restore tool name in a single tool_use block.
81
+ * Useful for streaming responses.
82
+ *
83
+ * @param name The sanitized tool name
84
+ * @returns Original name if mapped, otherwise the input name
85
+ */
86
+ restoreName(name) {
87
+ return this.mapping.get(name) ?? name;
88
+ }
89
+ /**
90
+ * Check if any sanitization occurred during registration.
91
+ */
92
+ hasChanges() {
93
+ return this.changes.length > 0;
94
+ }
95
+ /**
96
+ * Get all sanitization changes for logging.
97
+ */
98
+ getChanges() {
99
+ return [...this.changes];
100
+ }
101
+ /**
102
+ * Get the number of tools that were sanitized.
103
+ */
104
+ getChangeCount() {
105
+ return this.changes.length;
106
+ }
107
+ /**
108
+ * Clear all mappings. Call between requests.
109
+ */
110
+ clear() {
111
+ this.mapping.clear();
112
+ this.changes = [];
113
+ }
114
+ }
115
+ exports.ToolNameMapper = ToolNameMapper;
116
+ //# sourceMappingURL=tool-name-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-name-mapper.js","sourceRoot":"","sources":["../../src/cliproxy/tool-name-mapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,+DAA8E;AA8B9E;;;;;GAKG;AACH,MAAa,cAAc;IAA3B;QACE,8CAA8C;QACtC,YAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;QAEjD,mDAAmD;QAC3C,YAAO,GAAyB,EAAE,CAAC;IAoG7C,CAAC;IAlGC;;;;;;OAMG;IACH,aAAa,CAAC,KAAa;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,MAAM,GAAmB,IAAA,sCAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,sCAAsC;gBACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,MAAM,CAAC,SAAS;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,OAAuB;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,+CAA+C;YAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAA0B,CAAC;YACrD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAEnD,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;oBACL,GAAG,KAAK;oBACR,IAAI,EAAE,YAAY;iBACnB,CAAC;YACJ,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AAzGD,wCAyGC"}