@roxybrowser/openapi 1.0.13-beta.1 → 1.0.13-beta.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/lib/index.d.cts CHANGED
@@ -3046,8 +3046,30 @@ declare class ProxyList {
3046
3046
  type: string;
3047
3047
  description: string;
3048
3048
  };
3049
+ country: {
3050
+ type: string;
3051
+ description: string;
3052
+ };
3053
+ checkStatus: {
3054
+ type: string;
3055
+ description: string;
3056
+ };
3057
+ startDate: {
3058
+ type: string;
3059
+ description: string;
3060
+ };
3061
+ endDate: {
3062
+ type: string;
3063
+ description: string;
3064
+ };
3065
+ checker: {
3066
+ type: string;
3067
+ enum: string[];
3068
+ description: string;
3069
+ };
3049
3070
  proxyType: {
3050
3071
  type: string;
3072
+ enum: string[];
3051
3073
  description: string;
3052
3074
  };
3053
3075
  pageIndex: {
@@ -3073,8 +3095,30 @@ declare class ProxyList {
3073
3095
  type: string;
3074
3096
  description: string;
3075
3097
  };
3098
+ country: {
3099
+ type: string;
3100
+ description: string;
3101
+ };
3102
+ checkStatus: {
3103
+ type: string;
3104
+ description: string;
3105
+ };
3106
+ startDate: {
3107
+ type: string;
3108
+ description: string;
3109
+ };
3110
+ endDate: {
3111
+ type: string;
3112
+ description: string;
3113
+ };
3114
+ checker: {
3115
+ type: string;
3116
+ enum: string[];
3117
+ description: string;
3118
+ };
3076
3119
  proxyType: {
3077
3120
  type: string;
3121
+ enum: string[];
3078
3122
  description: string;
3079
3123
  };
3080
3124
  pageIndex: {
@@ -3098,6 +3142,48 @@ declare class ProxyList {
3098
3142
  }[];
3099
3143
  }>;
3100
3144
  }
3145
+ declare class GetProxyDetail {
3146
+ name: string;
3147
+ description: string;
3148
+ inputSchema: {
3149
+ type: string;
3150
+ properties: {
3151
+ workspaceId: {
3152
+ type: string;
3153
+ description: string;
3154
+ };
3155
+ id: {
3156
+ type: string;
3157
+ description: string;
3158
+ };
3159
+ };
3160
+ required: string[];
3161
+ };
3162
+ get schema(): {
3163
+ name: string;
3164
+ description: string;
3165
+ inputSchema: {
3166
+ type: string;
3167
+ properties: {
3168
+ workspaceId: {
3169
+ type: string;
3170
+ description: string;
3171
+ };
3172
+ id: {
3173
+ type: string;
3174
+ description: string;
3175
+ };
3176
+ };
3177
+ required: string[];
3178
+ };
3179
+ };
3180
+ handle(params: any): Promise<{
3181
+ content: {
3182
+ type: string;
3183
+ text: string;
3184
+ }[];
3185
+ }>;
3186
+ }
3101
3187
  declare class CreateProxies {
3102
3188
  name: string;
3103
3189
  description: string;
@@ -3423,6 +3509,7 @@ declare class DeleteProxies {
3423
3509
  }>;
3424
3510
  }
3425
3511
  declare const proxyList: ProxyList;
3512
+ declare const proxyDetail: GetProxyDetail;
3426
3513
  declare const createProxies: CreateProxies;
3427
3514
  declare const detectProxy: DetectProxy;
3428
3515
  declare const modifyProxy: ModifyProxy;
@@ -5766,4 +5853,4 @@ declare class RoxyBrowserMCPServer {
5766
5853
  */
5767
5854
  declare function runServer(): Promise<void>;
5768
5855
 
5769
- export { type AccountBatchCreateParams, type AccountCreateParams, type AccountDeleteParams, type AccountItem, type AccountListParams, type AccountListResponse, type AccountModifyParams, type BoughtProxyListItem, type BrowserCloseParams, type BrowserCloseToolParams, type BrowserCloseToolResponse, type BrowserCreateAdvancedParams, type BrowserCreateAdvancedResponse, type BrowserCreateBatchResult, type BrowserCreateConfig, type BrowserCreateResult, type BrowserCreateSimpleParams, type BrowserCreateSimpleResponse, type BrowserCreateStandardParams, type BrowserCreateStandardResponse, BrowserCreationError, type BrowserDeleteToolParams, type BrowserDeleteToolResponse, type BrowserListItem, type BrowserListParams, type BrowserListResponse, type BrowserListToolParams, type BrowserListToolResponse, type BrowserOS, type BrowserOpenParams, type BrowserOpenResult, type BrowserOpenToolParams, type BrowserOpenToolResponse, type BrowserUpdateParams, type ClearLocalCacheParams, type ClearServerCacheParams, ConfigError, type ConnectionInfoItem, type ConnectionInfoResponse, type CoreVersion, DEFAULT_CONFIG, type DetectChannelItem, type DetectChannelResponse, type ErrorInfo, type FingerInfo, LATEST_CORE_VERSION, type LabelItem, type LabelListResponse, NETWORK_ERROR_PATTERNS, type ProjectDetails, type ProxyBatchCreateParams, type ProxyCreateParams, type ProxyDeleteParams, type ProxyDetectParams, type ProxyInfo, type ProxyListItem, type ProxyListParams, type ProxyListResponse, type ProxyModifyParams, ROXY_ERROR_MAP, type RandomFingerprintParams, RoxyApiError, RoxyApiErrorCode, type RoxyApiResponse, RoxyBrowserMCPServer, type RoxyClientConfig$1 as RoxyClientConfig, type SearchEngine, TOOLS, type WindowPlatformInfo, type Workspace, type WorkspaceListResponse, type WorkspaceListToolResponse, batchCreateAccounts, batchCreateBrowsers, clearLocalCache, clearServerCache, closeBrowsers, createAccount, createBrowser, createProxies, deleteAccounts, deleteBrowsers, deleteProxies, detectProxy, getBrowserDetail, getConnectionInfo, healthCheck, listAccounts, listBrowsers, listLabels, listWorkspaces, modifyAccount, modifyProxy, openBrowser, proxyList, randomFingerprint, request, resolveConfig, runServer, updateBrowser };
5856
+ export { type AccountBatchCreateParams, type AccountCreateParams, type AccountDeleteParams, type AccountItem, type AccountListParams, type AccountListResponse, type AccountModifyParams, type BoughtProxyListItem, type BrowserCloseParams, type BrowserCloseToolParams, type BrowserCloseToolResponse, type BrowserCreateAdvancedParams, type BrowserCreateAdvancedResponse, type BrowserCreateBatchResult, type BrowserCreateConfig, type BrowserCreateResult, type BrowserCreateSimpleParams, type BrowserCreateSimpleResponse, type BrowserCreateStandardParams, type BrowserCreateStandardResponse, BrowserCreationError, type BrowserDeleteToolParams, type BrowserDeleteToolResponse, type BrowserListItem, type BrowserListParams, type BrowserListResponse, type BrowserListToolParams, type BrowserListToolResponse, type BrowserOS, type BrowserOpenParams, type BrowserOpenResult, type BrowserOpenToolParams, type BrowserOpenToolResponse, type BrowserUpdateParams, type ClearLocalCacheParams, type ClearServerCacheParams, ConfigError, type ConnectionInfoItem, type ConnectionInfoResponse, type CoreVersion, DEFAULT_CONFIG, type DetectChannelItem, type DetectChannelResponse, type ErrorInfo, type FingerInfo, LATEST_CORE_VERSION, type LabelItem, type LabelListResponse, NETWORK_ERROR_PATTERNS, type ProjectDetails, type ProxyBatchCreateParams, type ProxyCreateParams, type ProxyDeleteParams, type ProxyDetectParams, type ProxyInfo, type ProxyListItem, type ProxyListParams, type ProxyListResponse, type ProxyModifyParams, ROXY_ERROR_MAP, type RandomFingerprintParams, RoxyApiError, RoxyApiErrorCode, type RoxyApiResponse, RoxyBrowserMCPServer, type RoxyClientConfig$1 as RoxyClientConfig, type SearchEngine, TOOLS, type WindowPlatformInfo, type Workspace, type WorkspaceListResponse, type WorkspaceListToolResponse, batchCreateAccounts, batchCreateBrowsers, clearLocalCache, clearServerCache, closeBrowsers, createAccount, createBrowser, createProxies, deleteAccounts, deleteBrowsers, deleteProxies, detectProxy, getBrowserDetail, getConnectionInfo, healthCheck, listAccounts, listBrowsers, listLabels, listWorkspaces, modifyAccount, modifyProxy, openBrowser, proxyDetail, proxyList, randomFingerprint, request, resolveConfig, runServer, updateBrowser };
package/lib/index.d.ts CHANGED
@@ -3046,8 +3046,30 @@ declare class ProxyList {
3046
3046
  type: string;
3047
3047
  description: string;
3048
3048
  };
3049
+ country: {
3050
+ type: string;
3051
+ description: string;
3052
+ };
3053
+ checkStatus: {
3054
+ type: string;
3055
+ description: string;
3056
+ };
3057
+ startDate: {
3058
+ type: string;
3059
+ description: string;
3060
+ };
3061
+ endDate: {
3062
+ type: string;
3063
+ description: string;
3064
+ };
3065
+ checker: {
3066
+ type: string;
3067
+ enum: string[];
3068
+ description: string;
3069
+ };
3049
3070
  proxyType: {
3050
3071
  type: string;
3072
+ enum: string[];
3051
3073
  description: string;
3052
3074
  };
3053
3075
  pageIndex: {
@@ -3073,8 +3095,30 @@ declare class ProxyList {
3073
3095
  type: string;
3074
3096
  description: string;
3075
3097
  };
3098
+ country: {
3099
+ type: string;
3100
+ description: string;
3101
+ };
3102
+ checkStatus: {
3103
+ type: string;
3104
+ description: string;
3105
+ };
3106
+ startDate: {
3107
+ type: string;
3108
+ description: string;
3109
+ };
3110
+ endDate: {
3111
+ type: string;
3112
+ description: string;
3113
+ };
3114
+ checker: {
3115
+ type: string;
3116
+ enum: string[];
3117
+ description: string;
3118
+ };
3076
3119
  proxyType: {
3077
3120
  type: string;
3121
+ enum: string[];
3078
3122
  description: string;
3079
3123
  };
3080
3124
  pageIndex: {
@@ -3098,6 +3142,48 @@ declare class ProxyList {
3098
3142
  }[];
3099
3143
  }>;
3100
3144
  }
3145
+ declare class GetProxyDetail {
3146
+ name: string;
3147
+ description: string;
3148
+ inputSchema: {
3149
+ type: string;
3150
+ properties: {
3151
+ workspaceId: {
3152
+ type: string;
3153
+ description: string;
3154
+ };
3155
+ id: {
3156
+ type: string;
3157
+ description: string;
3158
+ };
3159
+ };
3160
+ required: string[];
3161
+ };
3162
+ get schema(): {
3163
+ name: string;
3164
+ description: string;
3165
+ inputSchema: {
3166
+ type: string;
3167
+ properties: {
3168
+ workspaceId: {
3169
+ type: string;
3170
+ description: string;
3171
+ };
3172
+ id: {
3173
+ type: string;
3174
+ description: string;
3175
+ };
3176
+ };
3177
+ required: string[];
3178
+ };
3179
+ };
3180
+ handle(params: any): Promise<{
3181
+ content: {
3182
+ type: string;
3183
+ text: string;
3184
+ }[];
3185
+ }>;
3186
+ }
3101
3187
  declare class CreateProxies {
3102
3188
  name: string;
3103
3189
  description: string;
@@ -3423,6 +3509,7 @@ declare class DeleteProxies {
3423
3509
  }>;
3424
3510
  }
3425
3511
  declare const proxyList: ProxyList;
3512
+ declare const proxyDetail: GetProxyDetail;
3426
3513
  declare const createProxies: CreateProxies;
3427
3514
  declare const detectProxy: DetectProxy;
3428
3515
  declare const modifyProxy: ModifyProxy;
@@ -5766,4 +5853,4 @@ declare class RoxyBrowserMCPServer {
5766
5853
  */
5767
5854
  declare function runServer(): Promise<void>;
5768
5855
 
5769
- export { type AccountBatchCreateParams, type AccountCreateParams, type AccountDeleteParams, type AccountItem, type AccountListParams, type AccountListResponse, type AccountModifyParams, type BoughtProxyListItem, type BrowserCloseParams, type BrowserCloseToolParams, type BrowserCloseToolResponse, type BrowserCreateAdvancedParams, type BrowserCreateAdvancedResponse, type BrowserCreateBatchResult, type BrowserCreateConfig, type BrowserCreateResult, type BrowserCreateSimpleParams, type BrowserCreateSimpleResponse, type BrowserCreateStandardParams, type BrowserCreateStandardResponse, BrowserCreationError, type BrowserDeleteToolParams, type BrowserDeleteToolResponse, type BrowserListItem, type BrowserListParams, type BrowserListResponse, type BrowserListToolParams, type BrowserListToolResponse, type BrowserOS, type BrowserOpenParams, type BrowserOpenResult, type BrowserOpenToolParams, type BrowserOpenToolResponse, type BrowserUpdateParams, type ClearLocalCacheParams, type ClearServerCacheParams, ConfigError, type ConnectionInfoItem, type ConnectionInfoResponse, type CoreVersion, DEFAULT_CONFIG, type DetectChannelItem, type DetectChannelResponse, type ErrorInfo, type FingerInfo, LATEST_CORE_VERSION, type LabelItem, type LabelListResponse, NETWORK_ERROR_PATTERNS, type ProjectDetails, type ProxyBatchCreateParams, type ProxyCreateParams, type ProxyDeleteParams, type ProxyDetectParams, type ProxyInfo, type ProxyListItem, type ProxyListParams, type ProxyListResponse, type ProxyModifyParams, ROXY_ERROR_MAP, type RandomFingerprintParams, RoxyApiError, RoxyApiErrorCode, type RoxyApiResponse, RoxyBrowserMCPServer, type RoxyClientConfig$1 as RoxyClientConfig, type SearchEngine, TOOLS, type WindowPlatformInfo, type Workspace, type WorkspaceListResponse, type WorkspaceListToolResponse, batchCreateAccounts, batchCreateBrowsers, clearLocalCache, clearServerCache, closeBrowsers, createAccount, createBrowser, createProxies, deleteAccounts, deleteBrowsers, deleteProxies, detectProxy, getBrowserDetail, getConnectionInfo, healthCheck, listAccounts, listBrowsers, listLabels, listWorkspaces, modifyAccount, modifyProxy, openBrowser, proxyList, randomFingerprint, request, resolveConfig, runServer, updateBrowser };
5856
+ export { type AccountBatchCreateParams, type AccountCreateParams, type AccountDeleteParams, type AccountItem, type AccountListParams, type AccountListResponse, type AccountModifyParams, type BoughtProxyListItem, type BrowserCloseParams, type BrowserCloseToolParams, type BrowserCloseToolResponse, type BrowserCreateAdvancedParams, type BrowserCreateAdvancedResponse, type BrowserCreateBatchResult, type BrowserCreateConfig, type BrowserCreateResult, type BrowserCreateSimpleParams, type BrowserCreateSimpleResponse, type BrowserCreateStandardParams, type BrowserCreateStandardResponse, BrowserCreationError, type BrowserDeleteToolParams, type BrowserDeleteToolResponse, type BrowserListItem, type BrowserListParams, type BrowserListResponse, type BrowserListToolParams, type BrowserListToolResponse, type BrowserOS, type BrowserOpenParams, type BrowserOpenResult, type BrowserOpenToolParams, type BrowserOpenToolResponse, type BrowserUpdateParams, type ClearLocalCacheParams, type ClearServerCacheParams, ConfigError, type ConnectionInfoItem, type ConnectionInfoResponse, type CoreVersion, DEFAULT_CONFIG, type DetectChannelItem, type DetectChannelResponse, type ErrorInfo, type FingerInfo, LATEST_CORE_VERSION, type LabelItem, type LabelListResponse, NETWORK_ERROR_PATTERNS, type ProjectDetails, type ProxyBatchCreateParams, type ProxyCreateParams, type ProxyDeleteParams, type ProxyDetectParams, type ProxyInfo, type ProxyListItem, type ProxyListParams, type ProxyListResponse, type ProxyModifyParams, ROXY_ERROR_MAP, type RandomFingerprintParams, RoxyApiError, RoxyApiErrorCode, type RoxyApiResponse, RoxyBrowserMCPServer, type RoxyClientConfig$1 as RoxyClientConfig, type SearchEngine, TOOLS, type WindowPlatformInfo, type Workspace, type WorkspaceListResponse, type WorkspaceListToolResponse, batchCreateAccounts, batchCreateBrowsers, clearLocalCache, clearServerCache, closeBrowsers, createAccount, createBrowser, createProxies, deleteAccounts, deleteBrowsers, deleteProxies, detectProxy, getBrowserDetail, getConnectionInfo, healthCheck, listAccounts, listBrowsers, listLabels, listWorkspaces, modifyAccount, modifyProxy, openBrowser, proxyDetail, proxyList, randomFingerprint, request, resolveConfig, runServer, updateBrowser };
package/lib/index.js CHANGED
@@ -541,6 +541,26 @@ var channelList = [
541
541
  value: "http://ipinfo.io"
542
542
  }
543
543
  ];
544
+ function formatProxySource(dataType) {
545
+ return dataType === "proxyModule" ? "user-added" : dataType === "buyProxy" ? "proxy store" : dataType || "unknown";
546
+ }
547
+ function formatCheckStatus(checkStatus) {
548
+ return checkStatus === 1 ? "\u2705 available" : "\u274C unavailable";
549
+ }
550
+ function formatValue(value) {
551
+ if (value === null || value === void 0 || value === "")
552
+ return "N/A";
553
+ if (Array.isArray(value))
554
+ return value.length > 0 ? value.join(", ") : "N/A";
555
+ return String(value);
556
+ }
557
+ function formatBool(value, truthy = "yes", falsy = "no") {
558
+ return value ? truthy : falsy;
559
+ }
560
+ function formatLocation(proxy) {
561
+ const locationParts = [proxy.lastCity, proxy.lastState, proxy.lastCountry].filter(Boolean);
562
+ return locationParts.length > 0 ? locationParts.join(", ") : "N/A";
563
+ }
544
564
  var ProxyList = class {
545
565
  name = "roxy_list_proxies";
546
566
  description = "Get list of proxy IP List.";
@@ -551,9 +571,31 @@ var ProxyList = class {
551
571
  type: "number",
552
572
  description: "Workspace ID"
553
573
  },
554
- proxyType: {
574
+ country: {
575
+ type: "string",
576
+ description: "Filter by country (us,cn,jp)"
577
+ },
578
+ checkStatus: {
555
579
  type: "number",
556
- description: "Filter by proxy ID"
580
+ description: "Filter by check status (0: unavailable, 1: available)"
581
+ },
582
+ startDate: {
583
+ type: "string",
584
+ description: "Filter by detection start date (YYYY-MM-DD)"
585
+ },
586
+ endDate: {
587
+ type: "string",
588
+ description: "Filter by detection end date (YYYY-MM-DD)"
589
+ },
590
+ checker: {
591
+ type: "string",
592
+ enum: channelList.map((item) => item.label),
593
+ description: "Filter by detection channel"
594
+ },
595
+ proxyType: {
596
+ type: "string",
597
+ enum: ["user-added", "proxy store"],
598
+ description: "Filter by proxy source type"
557
599
  },
558
600
  pageIndex: {
559
601
  type: "number",
@@ -578,12 +620,22 @@ var ProxyList = class {
578
620
  async handle(params) {
579
621
  const searchParams = new URLSearchParams();
580
622
  searchParams.append("workspaceId", params.workspaceId.toString());
581
- if (params.id)
582
- searchParams.append("id", params.id.toString());
583
623
  if (params.pageIndex)
584
624
  searchParams.append("page_index", params.pageIndex.toString());
585
625
  if (params.pageSize)
586
626
  searchParams.append("page_size", params.pageSize.toString());
627
+ if (params.country)
628
+ searchParams.append("country", params.country);
629
+ if (params.checkStatus !== void 0)
630
+ searchParams.append("check_status", params.checkStatus.toString());
631
+ if (params.startDate)
632
+ searchParams.append("start_date", params.startDate);
633
+ if (params.endDate)
634
+ searchParams.append("end_date", params.endDate);
635
+ if (params.checker)
636
+ searchParams.append("checker", params.checker);
637
+ if (params.proxyType)
638
+ searchParams.append("proxyType", params.proxyType === "user-added" ? "0" : "1");
587
639
  if (!params.workspaceId) {
588
640
  throw new Error("workspaceId is required");
589
641
  }
@@ -596,8 +648,8 @@ var ProxyList = class {
596
648
  const totalPages = Math.max(1, Math.ceil((data.total || 0) / pageSize));
597
649
  const hasNextPage = currentPage < totalPages;
598
650
  const proxyListText = data.rows.length > 0 ? data.rows.map((proxy, index) => {
599
- const statusText = proxy.checkStatus === 1 ? "\u2705 available" : proxy.checkStatus === 2 ? "\u274C unavailable" : "\u23F3 not checked";
600
- const sourceType = proxy.dataType === "proxyModule" ? "user-added" : proxy.dataType === "buyProxy" ? "proxy store" : proxy.dataType || "unknown";
651
+ const statusText = formatCheckStatus(proxy.checkStatus);
652
+ const sourceType = proxy.dataType === "proxyModule" ? "user-added" : "proxy store";
601
653
  const canDelete = proxy.dataType === "proxyModule" ? "yes" : "no";
602
654
  const name = `proxy (id: ${proxy.id}) ${proxy.remark ? `remark: ${proxy.remark}` : ""}`;
603
655
  const location = proxy.lastCountry ? `${proxy.lastCity || ""}${proxy.lastCity && proxy.lastCountry ? ", " : ""}${proxy.lastCountry}` : null;
@@ -643,6 +695,129 @@ ${result.msg}`;
643
695
  return { content: [{ type: "text", text }] };
644
696
  }
645
697
  };
698
+ var GetProxyDetail = class {
699
+ name = "roxy_proxy_detail";
700
+ description = "Get detailed information for a specific proxy configuration";
701
+ inputSchema = {
702
+ type: "object",
703
+ properties: {
704
+ workspaceId: {
705
+ type: "number",
706
+ description: "Workspace ID"
707
+ },
708
+ id: {
709
+ type: "number",
710
+ description: "Proxy ID to get detail for"
711
+ }
712
+ },
713
+ required: ["workspaceId", "id"]
714
+ };
715
+ get schema() {
716
+ return {
717
+ name: this.name,
718
+ description: this.description,
719
+ inputSchema: this.inputSchema
720
+ };
721
+ }
722
+ async handle(params) {
723
+ if (!params.workspaceId || !params.id) {
724
+ return {
725
+ content: [
726
+ {
727
+ type: "text",
728
+ text: "\u274C **Failed to get proxy detail:**\n\n workspaceId and id are required"
729
+ }
730
+ ]
731
+ };
732
+ }
733
+ const searchParams = new URLSearchParams();
734
+ searchParams.append("workspaceId", params.workspaceId.toString());
735
+ searchParams.append("id", params.id.toString());
736
+ const result = await request(`/proxy/detail?${searchParams}`);
737
+ let text = "";
738
+ if (result.code !== 0) {
739
+ text = `\u274C **Failed to get proxy detail:**
740
+
741
+ error message: ${result.msg}`;
742
+ } else {
743
+ const detail = result.data?.rows?.[0] || result.data || null;
744
+ if (!detail) {
745
+ text = `\u274C **Proxy Not Found**
746
+
747
+ No proxy detail found for ID ${params.id} in workspace ${params.workspaceId}.`;
748
+ } else {
749
+ const sourceType = formatProxySource(detail.dataType);
750
+ const sourceSpecificTitle = detail.dataType === "buyProxy" ? "Store Purchase Fields" : "User-added Fields";
751
+ const authText = detail.proxyUserName && detail.proxyPassword ? `${detail.proxyUserName}:${detail.proxyPassword}` : detail.proxyUserName || detail.proxyPassword || "N/A";
752
+ const commonLines = [
753
+ `**ID:** ${formatValue(detail.id)}`,
754
+ `**Source Type:** ${sourceType}`,
755
+ `**Workspace ID:** ${formatValue(detail.workspaceId)}`,
756
+ `**User ID:** ${formatValue(detail.userId)}`,
757
+ `**Remark:** ${formatValue(detail.remark)}`,
758
+ `**Protocol:** ${formatValue(detail.protocol)}`,
759
+ `**Host:** ${formatValue(detail.host)}`,
760
+ `**Port:** ${formatValue(detail.port)}`,
761
+ `**IP Type:** ${formatValue(detail.ipType)}`,
762
+ `**Proxy Account:** ${authText}`,
763
+ `**Bind Status:** ${formatBool(detail.isBind, "bound", "not bound")}`,
764
+ `**Bind Count:** ${formatValue(detail.bindCount)}`,
765
+ `**Bound Browser IDs:** ${formatValue(detail.bindList)}`,
766
+ `**Direct Connection:** ${formatBool(detail.isDirect)}`,
767
+ `**Check Status:** ${formatCheckStatus(detail.checkStatus)}`,
768
+ `**Check Channel:** ${formatValue(detail.checkChannel)}`,
769
+ `**Check Channel Value:** ${formatValue(detail.checkChannelValue)}`,
770
+ `**Last Check Time:** ${formatValue(detail.checkTime)}`,
771
+ `**Last IP:** ${formatValue(detail.lastIp)}`,
772
+ `**Last Location:** ${formatLocation(detail)}`,
773
+ `**Created At:** ${formatValue(detail.createTime)}`,
774
+ `**Updated At:** ${formatValue(detail.updateTime)}`
775
+ ];
776
+ const userAddedLines = [
777
+ `**Refresh URL:** ${formatValue(detail.refreshUrl)}`,
778
+ `**Model Param:** ${formatValue(detail.modelParam)}`
779
+ ];
780
+ const storePurchaseLines = [
781
+ `**Order No:** ${formatValue(detail.orderNo)}`,
782
+ `**Order Status:** ${formatValue(detail.orderStatus)}`,
783
+ `**Country:** ${formatValue(detail.country)}`,
784
+ `**Provider Type:** ${formatValue(detail.providerType)}`,
785
+ `**Provider Name:** ${formatValue(detail.proxyProviderName)}`,
786
+ `**Provider ID:** ${formatValue(detail.proxyProviderId)}`,
787
+ `**Provider Price:** ${formatValue(detail.proxyProviderPrice)}`,
788
+ `**Discount Price:** ${formatValue(detail.proxyProviderDiscountPrice)}`,
789
+ `**Proxy Check Channel:** ${formatValue(detail.proxyCheckChannel)}`,
790
+ `**Expire Date:** ${formatValue(detail.expireDate)}`,
791
+ `**Expire Status:** ${formatValue(detail.proxyExpireStatus)}`,
792
+ `**Auto Renew:** ${formatBool(detail.autoRenew, "enabled", "disabled")}`,
793
+ `**Can Renew:** ${formatBool(detail.canRenew)}`,
794
+ `**Can Refund:** ${formatBool(detail.canRefund)}`,
795
+ `**Renewal Time:** ${formatValue(detail.renewalTime)}`,
796
+ `**Proxy Months:** ${formatValue(detail.proxyMonths)}`,
797
+ `**Gift Days:** ${formatValue(detail.giftDays)}`,
798
+ `**Replace Status:** ${formatValue(detail.replaceStatus)}`,
799
+ `**Badge Type:** ${formatValue(detail.badgeTypeDesc)}`,
800
+ `**Operator Name:** ${formatValue(detail.opName)}`
801
+ ];
802
+ const sourceSpecificLines = detail.dataType === "buyProxy" ? storePurchaseLines : userAddedLines;
803
+ text = `\u{1F50E} **Proxy Detail**
804
+
805
+ ${commonLines.join("\n")}
806
+
807
+ **${sourceSpecificTitle}:**
808
+ ${sourceSpecificLines.join("\n")}`;
809
+ }
810
+ }
811
+ return {
812
+ content: [
813
+ {
814
+ type: "text",
815
+ text
816
+ }
817
+ ]
818
+ };
819
+ }
820
+ };
646
821
  var CreateProxies = class {
647
822
  name = "roxy_create_proxies";
648
823
  description = "Batch create multiple proxy configurations";
@@ -987,6 +1162,7 @@ ${params.ids.map((id, index) => ` ${index + 1}. ${id}`).join("\n")}
987
1162
  }
988
1163
  };
989
1164
  var proxyList = new ProxyList();
1165
+ var proxyDetail = new GetProxyDetail();
990
1166
  var createProxies = new CreateProxies();
991
1167
  var detectProxy = new DetectProxy();
992
1168
  var modifyProxy = new ModifyProxy();
@@ -1954,16 +2130,16 @@ var ListBrowsers = class {
1954
2130
  const pageSize = params.pageSize ?? 15;
1955
2131
  const totalPages = Math.max(1, Math.ceil((data.total || 0) / pageSize));
1956
2132
  const hasNextPage = currentPage < totalPages;
1957
- const serialNo = `${data.workspaceName?.slice(0, 3).toLocaleUpperCase()}-${data.windowSortNum}`;
1958
2133
  text = `Found ${data.total} browsers in workspace ${params.workspaceId}:
1959
2134
 
1960
- ${data.rows.map(
1961
- (browser) => `**${browser.windowName || "Unnamed"}** (Serial No: ${serialNo})
2135
+ ${data.rows.map((browser) => {
2136
+ const serialNo = `${browser.workspaceName?.slice(0, 3).toLocaleUpperCase()}-${browser.windowSortNum}`;
2137
+ return `**${browser.windowName || "Unnamed"}** (Serial No: ${serialNo})
1962
2138
  - CoreVersion: ${browser.coreVersion} - DirId: ${browser.dirId}
1963
2139
  - OSVersion: ${browser.osVersion}
1964
2140
  - OS: ${browser.os}
1965
- - Remark: ${browser.windowRemark}`
1966
- ).join("\n\n")}
2141
+ - Remark: ${browser.windowRemark}`;
2142
+ }).join("\n\n")}
1967
2143
 
1968
2144
  Pagination:
1969
2145
  - currentPage: ${currentPage}
@@ -2769,6 +2945,7 @@ var TOOLS = [
2769
2945
  listLabels.schema,
2770
2946
  getConnectionInfo.schema,
2771
2947
  proxyList.schema,
2948
+ proxyDetail.schema,
2772
2949
  createProxies.schema,
2773
2950
  detectProxy.schema,
2774
2951
  modifyProxy.schema,
@@ -2847,6 +3024,8 @@ var RoxyBrowserMCPServer = class {
2847
3024
  // 代理相关
2848
3025
  case proxyList.name:
2849
3026
  return await proxyList.handle(args);
3027
+ case proxyDetail.name:
3028
+ return await proxyDetail.handle(args);
2850
3029
  case createProxies.name:
2851
3030
  return await createProxies.handle(args);
2852
3031
  case detectProxy.name:
@@ -2896,6 +3075,6 @@ async function runServer() {
2896
3075
  await server.run();
2897
3076
  }
2898
3077
 
2899
- export { DEFAULT_CONFIG, RoxyBrowserMCPServer, TOOLS, batchCreateAccounts, batchCreateBrowsers, clearLocalCache, clearServerCache, closeBrowsers, createAccount, createBrowser, createProxies, deleteAccounts, deleteBrowsers, deleteProxies, detectProxy, getBrowserDetail, getConnectionInfo, healthCheck, listAccounts, listBrowsers, listLabels, listWorkspaces, modifyAccount, modifyProxy, openBrowser, proxyList, randomFingerprint, request, resolveConfig, runServer, updateBrowser };
3078
+ export { DEFAULT_CONFIG, RoxyBrowserMCPServer, TOOLS, batchCreateAccounts, batchCreateBrowsers, clearLocalCache, clearServerCache, closeBrowsers, createAccount, createBrowser, createProxies, deleteAccounts, deleteBrowsers, deleteProxies, detectProxy, getBrowserDetail, getConnectionInfo, healthCheck, listAccounts, listBrowsers, listLabels, listWorkspaces, modifyAccount, modifyProxy, openBrowser, proxyDetail, proxyList, randomFingerprint, request, resolveConfig, runServer, updateBrowser };
2900
3079
  //# sourceMappingURL=index.js.map
2901
3080
  //# sourceMappingURL=index.js.map