@ainative/cody-cli 0.7.34 → 0.7.35

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 (2) hide show
  1. package/dist/cli.js +325 -324
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -55467,7 +55467,7 @@ var init_PermissionMode = __esm(() => {
55467
55467
  });
55468
55468
 
55469
55469
  // src/entrypoints/sdk/coreSchemas.ts
55470
- var ModelUsageSchema, OutputFormatTypeSchema, BaseOutputFormatSchema, JsonSchemaOutputFormatSchema, OutputFormatSchema, ApiKeySourceSchema, ConfigScopeSchema, SdkBetaSchema, ThinkingAdaptiveSchema, ThinkingEnabledSchema, ThinkingDisabledSchema, ThinkingConfigSchema, McpStdioServerConfigSchema, McpSSEServerConfigSchema, McpHttpServerConfigSchema, McpSdkServerConfigSchema, McpServerConfigForProcessTransportSchema, McpClaudeAIProxyServerConfigSchema, McpServerStatusConfigSchema, McpServerStatusSchema, McpSetServersResultSchema, PermissionUpdateDestinationSchema, PermissionBehaviorSchema, PermissionRuleValueSchema, PermissionUpdateSchema, PermissionDecisionClassificationSchema, PermissionResultSchema, PermissionModeSchema, HOOK_EVENTS, HookEventSchema, BaseHookInputSchema, PreToolUseHookInputSchema, PermissionRequestHookInputSchema, PostToolUseHookInputSchema, PostToolUseFailureHookInputSchema, PermissionDeniedHookInputSchema, NotificationHookInputSchema, UserPromptSubmitHookInputSchema, SessionStartHookInputSchema, SetupHookInputSchema, StopHookInputSchema, StopFailureHookInputSchema, SubagentStartHookInputSchema, SubagentStopHookInputSchema, PreCompactHookInputSchema, PostCompactHookInputSchema, TeammateIdleHookInputSchema, TaskCreatedHookInputSchema, TaskCompletedHookInputSchema, ElicitationHookInputSchema, ElicitationResultHookInputSchema, CONFIG_CHANGE_SOURCES, ConfigChangeHookInputSchema, INSTRUCTIONS_LOAD_REASONS, INSTRUCTIONS_MEMORY_TYPES, InstructionsLoadedHookInputSchema, WorktreeCreateHookInputSchema, WorktreeRemoveHookInputSchema, CwdChangedHookInputSchema, FileChangedHookInputSchema, EXIT_REASONS, ExitReasonSchema, SessionEndHookInputSchema, HookInputSchema, AsyncHookJSONOutputSchema, PreToolUseHookSpecificOutputSchema, UserPromptSubmitHookSpecificOutputSchema, SessionStartHookSpecificOutputSchema, SetupHookSpecificOutputSchema, SubagentStartHookSpecificOutputSchema, PostToolUseHookSpecificOutputSchema, PostToolUseFailureHookSpecificOutputSchema, PermissionDeniedHookSpecificOutputSchema, NotificationHookSpecificOutputSchema, PermissionRequestHookSpecificOutputSchema, CwdChangedHookSpecificOutputSchema, FileChangedHookSpecificOutputSchema, SyncHookJSONOutputSchema, ElicitationHookSpecificOutputSchema, ElicitationResultHookSpecificOutputSchema, WorktreeCreateHookSpecificOutputSchema, HookJSONOutputSchema, PromptRequestOptionSchema, PromptRequestSchema, PromptResponseSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentMcpServerSpecSchema, AgentDefinitionSchema, SettingSourceSchema, SdkPluginConfigSchema, RewindFilesResultSchema, APIUserMessagePlaceholder, APIAssistantMessagePlaceholder, RawMessageStreamEventPlaceholder, UUIDPlaceholder, NonNullableUsagePlaceholder, SDKAssistantMessageErrorSchema, SDKStatusSchema, SDKUserMessageContentSchema, SDKUserMessageSchema, SDKUserMessageReplaySchema, SDKRateLimitInfoSchema, SDKAssistantMessageSchema, SDKRateLimitEventSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPermissionDenialSchema, SDKResultSuccessSchema, SDKResultErrorSchema, SDKResultMessageSchema, SDKSystemMessageSchema, SDKPartialAssistantMessageSchema, SDKCompactBoundaryMessageSchema, SDKStatusMessageSchema, SDKPostTurnSummaryMessageSchema, SDKAPIRetryMessageSchema, SDKLocalCommandOutputMessageSchema, SDKHookStartedMessageSchema, SDKHookProgressMessageSchema, SDKHookResponseMessageSchema, SDKToolProgressMessageSchema, SDKAuthStatusMessageSchema, SDKFilesPersistedEventSchema, SDKTaskNotificationMessageSchema, SDKTaskStartedMessageSchema, SDKSessionStateChangedMessageSchema, SDKTaskProgressMessageSchema, SDKToolUseSummaryMessageSchema, SDKElicitationCompleteMessageSchema, SDKPromptSuggestionMessageSchema, SDKSessionInfoSchema, SDKMessageSchema, FastModeStateSchema;
55470
+ var ModelUsageSchema, OutputFormatTypeSchema, BaseOutputFormatSchema, JsonSchemaOutputFormatSchema, OutputFormatSchema, ApiKeySourceSchema, ConfigScopeSchema, SdkBetaSchema, ThinkingAdaptiveSchema, ThinkingEnabledSchema, ThinkingDisabledSchema, ThinkingConfigSchema, McpStdioServerConfigSchema, McpSSEServerConfigSchema, McpHttpServerConfigSchema, McpSdkServerConfigSchema, McpServerConfigForProcessTransportSchema, McpAINativeProxyServerConfigSchema, McpServerStatusConfigSchema, McpServerStatusSchema, McpSetServersResultSchema, PermissionUpdateDestinationSchema, PermissionBehaviorSchema, PermissionRuleValueSchema, PermissionUpdateSchema, PermissionDecisionClassificationSchema, PermissionResultSchema, PermissionModeSchema, HOOK_EVENTS, HookEventSchema, BaseHookInputSchema, PreToolUseHookInputSchema, PermissionRequestHookInputSchema, PostToolUseHookInputSchema, PostToolUseFailureHookInputSchema, PermissionDeniedHookInputSchema, NotificationHookInputSchema, UserPromptSubmitHookInputSchema, SessionStartHookInputSchema, SetupHookInputSchema, StopHookInputSchema, StopFailureHookInputSchema, SubagentStartHookInputSchema, SubagentStopHookInputSchema, PreCompactHookInputSchema, PostCompactHookInputSchema, TeammateIdleHookInputSchema, TaskCreatedHookInputSchema, TaskCompletedHookInputSchema, ElicitationHookInputSchema, ElicitationResultHookInputSchema, CONFIG_CHANGE_SOURCES, ConfigChangeHookInputSchema, INSTRUCTIONS_LOAD_REASONS, INSTRUCTIONS_MEMORY_TYPES, InstructionsLoadedHookInputSchema, WorktreeCreateHookInputSchema, WorktreeRemoveHookInputSchema, CwdChangedHookInputSchema, FileChangedHookInputSchema, EXIT_REASONS, ExitReasonSchema, SessionEndHookInputSchema, HookInputSchema, AsyncHookJSONOutputSchema, PreToolUseHookSpecificOutputSchema, UserPromptSubmitHookSpecificOutputSchema, SessionStartHookSpecificOutputSchema, SetupHookSpecificOutputSchema, SubagentStartHookSpecificOutputSchema, PostToolUseHookSpecificOutputSchema, PostToolUseFailureHookSpecificOutputSchema, PermissionDeniedHookSpecificOutputSchema, NotificationHookSpecificOutputSchema, PermissionRequestHookSpecificOutputSchema, CwdChangedHookSpecificOutputSchema, FileChangedHookSpecificOutputSchema, SyncHookJSONOutputSchema, ElicitationHookSpecificOutputSchema, ElicitationResultHookSpecificOutputSchema, WorktreeCreateHookSpecificOutputSchema, HookJSONOutputSchema, PromptRequestOptionSchema, PromptRequestSchema, PromptResponseSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentMcpServerSpecSchema, AgentDefinitionSchema, SettingSourceSchema, SdkPluginConfigSchema, RewindFilesResultSchema, APIUserMessagePlaceholder, APIAssistantMessagePlaceholder, RawMessageStreamEventPlaceholder, UUIDPlaceholder, NonNullableUsagePlaceholder, SDKAssistantMessageErrorSchema, SDKStatusSchema, SDKUserMessageContentSchema, SDKUserMessageSchema, SDKUserMessageReplaySchema, SDKRateLimitInfoSchema, SDKAssistantMessageSchema, SDKRateLimitEventSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPermissionDenialSchema, SDKResultSuccessSchema, SDKResultErrorSchema, SDKResultMessageSchema, SDKSystemMessageSchema, SDKPartialAssistantMessageSchema, SDKCompactBoundaryMessageSchema, SDKStatusMessageSchema, SDKPostTurnSummaryMessageSchema, SDKAPIRetryMessageSchema, SDKLocalCommandOutputMessageSchema, SDKHookStartedMessageSchema, SDKHookProgressMessageSchema, SDKHookResponseMessageSchema, SDKToolProgressMessageSchema, SDKAuthStatusMessageSchema, SDKFilesPersistedEventSchema, SDKTaskNotificationMessageSchema, SDKTaskStartedMessageSchema, SDKSessionStateChangedMessageSchema, SDKTaskProgressMessageSchema, SDKToolUseSummaryMessageSchema, SDKElicitationCompleteMessageSchema, SDKPromptSuggestionMessageSchema, SDKSessionInfoSchema, SDKMessageSchema, FastModeStateSchema;
55471
55471
  var init_coreSchemas = __esm(() => {
55472
55472
  init_v4();
55473
55473
  ModelUsageSchema = lazySchema(() => exports_external.object({
@@ -55533,14 +55533,14 @@ var init_coreSchemas = __esm(() => {
55533
55533
  McpHttpServerConfigSchema(),
55534
55534
  McpSdkServerConfigSchema()
55535
55535
  ]));
55536
- McpClaudeAIProxyServerConfigSchema = lazySchema(() => exports_external.object({
55537
- type: exports_external.literal("claudeai-proxy"),
55536
+ McpAINativeProxyServerConfigSchema = lazySchema(() => exports_external.object({
55537
+ type: exports_external.literal("ainative-proxy"),
55538
55538
  url: exports_external.string(),
55539
55539
  id: exports_external.string()
55540
55540
  }));
55541
55541
  McpServerStatusConfigSchema = lazySchema(() => exports_external.union([
55542
55542
  McpServerConfigForProcessTransportSchema(),
55543
- McpClaudeAIProxyServerConfigSchema()
55543
+ McpAINativeProxyServerConfigSchema()
55544
55544
  ]));
55545
55545
  McpServerStatusSchema = lazySchema(() => exports_external.object({
55546
55546
  name: exports_external.string().describe("Server name as configured"),
@@ -56585,7 +56585,7 @@ var init_hooks = __esm(() => {
56585
56585
  });
56586
56586
 
56587
56587
  // src/services/mcp/types.ts
56588
- var ConfigScopeSchema2, TransportSchema, McpStdioServerConfigSchema2, McpXaaConfigSchema, McpOAuthConfigSchema, McpSSEServerConfigSchema2, McpSSEIDEServerConfigSchema, McpWebSocketIDEServerConfigSchema, McpHTTPServerConfigSchema, McpWebSocketServerConfigSchema, McpSdkServerConfigSchema2, McpClaudeAIProxyServerConfigSchema2, McpServerConfigSchema, McpJsonConfigSchema;
56588
+ var ConfigScopeSchema2, TransportSchema, McpStdioServerConfigSchema2, McpXaaConfigSchema, McpOAuthConfigSchema, McpSSEServerConfigSchema2, McpSSEIDEServerConfigSchema, McpWebSocketIDEServerConfigSchema, McpHTTPServerConfigSchema, McpWebSocketServerConfigSchema, McpSdkServerConfigSchema2, McpAINativeProxyServerConfigSchema2, McpServerConfigSchema, McpJsonConfigSchema;
56589
56589
  var init_types2 = __esm(() => {
56590
56590
  init_v4();
56591
56591
  ConfigScopeSchema2 = lazySchema(() => exports_external.enum([
@@ -56594,6 +56594,7 @@ var init_types2 = __esm(() => {
56594
56594
  "project",
56595
56595
  "dynamic",
56596
56596
  "enterprise",
56597
+ "ainative",
56597
56598
  "claudeai",
56598
56599
  "managed"
56599
56600
  ]));
@@ -56650,8 +56651,8 @@ var init_types2 = __esm(() => {
56650
56651
  type: exports_external.literal("sdk"),
56651
56652
  name: exports_external.string()
56652
56653
  }));
56653
- McpClaudeAIProxyServerConfigSchema2 = lazySchema(() => exports_external.object({
56654
- type: exports_external.literal("claudeai-proxy"),
56654
+ McpAINativeProxyServerConfigSchema2 = lazySchema(() => exports_external.object({
56655
+ type: exports_external.literal("ainative-proxy"),
56655
56656
  url: exports_external.string(),
56656
56657
  id: exports_external.string()
56657
56658
  }));
@@ -56663,7 +56664,7 @@ var init_types2 = __esm(() => {
56663
56664
  McpHTTPServerConfigSchema(),
56664
56665
  McpWebSocketServerConfigSchema(),
56665
56666
  McpSdkServerConfigSchema2(),
56666
- McpClaudeAIProxyServerConfigSchema2()
56667
+ McpAINativeProxyServerConfigSchema2()
56667
56668
  ]));
56668
56669
  McpJsonConfigSchema = lazySchema(() => exports_external.object({
56669
56670
  mcpServers: exports_external.record(exports_external.string(), McpServerConfigSchema())
@@ -173129,7 +173130,7 @@ var init_auth2 = __esm(() => {
173129
173130
 
173130
173131
  // src/utils/userAgent.ts
173131
173132
  function getCodyUserAgent() {
173132
- return `cody-cli/${"0.7.15"}`;
173133
+ return `cody-cli/${"0.7.35"}`;
173133
173134
  }
173134
173135
 
173135
173136
  // src/utils/workloadContext.ts
@@ -173151,7 +173152,7 @@ function getUserAgent() {
173151
173152
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
173152
173153
  const workload = getWorkload();
173153
173154
  const workloadSuffix = workload ? `, workload/${workload}` : "";
173154
- return `claude-cli/${"0.7.15"} (${"external"}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
173155
+ return `claude-cli/${"0.7.35"} (${"external"}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
173155
173156
  }
173156
173157
  function getMCPUserAgent() {
173157
173158
  const parts = [];
@@ -173165,7 +173166,7 @@ function getMCPUserAgent() {
173165
173166
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
173166
173167
  }
173167
173168
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
173168
- return `cody-cli/${"0.7.15"}${suffix}`;
173169
+ return `cody-cli/${"0.7.35"}${suffix}`;
173169
173170
  }
173170
173171
  function getWebFetchUserAgent() {
173171
173172
  return `Cody-User (${getCodyUserAgent()}; +https://ainative.studio)`;
@@ -173303,7 +173304,7 @@ var init_user = __esm(() => {
173303
173304
  deviceId,
173304
173305
  sessionId: getSessionId(),
173305
173306
  email: getEmail(),
173306
- appVersion: "0.7.15",
173307
+ appVersion: "0.7.35",
173307
173308
  platform: getHostPlatformForAnalytics(),
173308
173309
  organizationUuid,
173309
173310
  accountUuid,
@@ -180577,7 +180578,7 @@ function isAnalyticsToolDetailsLoggingEnabled(mcpServerType, mcpServerBaseUrl) {
180577
180578
  if (process.env.CLAUDE_CODE_ENTRYPOINT === "local-agent") {
180578
180579
  return true;
180579
180580
  }
180580
- if (mcpServerType === "claudeai-proxy") {
180581
+ if (mcpServerType === "ainative-proxy") {
180581
180582
  return true;
180582
180583
  }
180583
180584
  if (mcpServerBaseUrl && isOfficialMcpUrl(mcpServerBaseUrl)) {
@@ -180995,7 +180996,7 @@ var init_metadata = __esm(() => {
180995
180996
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
180996
180997
  WHITESPACE_REGEX = /\s+/;
180997
180998
  getVersionBase = memoize_default(() => {
180998
- const match = "0.7.15".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
180999
+ const match = "0.7.35".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
180999
181000
  return match ? match[0] : undefined;
181000
181001
  });
181001
181002
  buildEnvContext = memoize_default(async () => {
@@ -181035,9 +181036,9 @@ var init_metadata = __esm(() => {
181035
181036
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
181036
181037
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
181037
181038
  isClaudeAiAuth: isClaudeAISubscriber(),
181038
- version: "0.7.15",
181039
+ version: "0.7.35",
181039
181040
  versionBase: getVersionBase(),
181040
- buildTime: "1777196086",
181041
+ buildTime: "1777670343",
181041
181042
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
181042
181043
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
181043
181044
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -181655,7 +181656,7 @@ function initialize1PEventLogging() {
181655
181656
  const platform3 = getPlatform();
181656
181657
  const attributes = {
181657
181658
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "cody-cli",
181658
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "0.7.15"
181659
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "0.7.35"
181659
181660
  };
181660
181661
  if (platform3 === "wsl") {
181661
181662
  const wslVersion = getWslVersion();
@@ -181682,7 +181683,7 @@ function initialize1PEventLogging() {
181682
181683
  })
181683
181684
  ]
181684
181685
  });
181685
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.ainative.cody_cli.events", "0.7.15");
181686
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.ainative.cody_cli.events", "0.7.35");
181686
181687
  }
181687
181688
  async function reinitialize1PEventLoggingIfConfigChanged() {
181688
181689
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -183375,7 +183376,7 @@ function getAttributionHeader(fingerprint) {
183375
183376
  if (!isAttributionHeaderEnabled()) {
183376
183377
  return "";
183377
183378
  }
183378
- const version6 = `${"0.7.15"}.${fingerprint}`;
183379
+ const version6 = `${"0.7.35"}.${fingerprint}`;
183379
183380
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
183380
183381
  const cch = "";
183381
183382
  const workload = getWorkload();
@@ -219324,6 +219325,25 @@ function ripgrepCommand() {
219324
219325
  argv0: config2.argv0
219325
219326
  };
219326
219327
  }
219328
+ function getRipgrepMissingWarning() {
219329
+ const config2 = getRipgrepConfig();
219330
+ if (config2.mode === "embedded")
219331
+ return null;
219332
+ if (config2.mode === "system")
219333
+ return null;
219334
+ const { existsSync: existsSync3 } = __require("fs");
219335
+ if (existsSync3(config2.command))
219336
+ return null;
219337
+ let installHint;
219338
+ if (process.platform === "darwin") {
219339
+ installHint = "brew install ripgrep";
219340
+ } else if (process.platform === "linux") {
219341
+ installHint = "apt install ripgrep | dnf install ripgrep";
219342
+ } else {
219343
+ installHint = "https://github.com/BurntSushi/ripgrep#installation";
219344
+ }
219345
+ return `ripgrep (rg) not found — Glob/Grep tools will not work. Install: ${installHint}`;
219346
+ }
219327
219347
  function isEagainError(stderr) {
219328
219348
  return stderr.includes("os error 11") || stderr.includes("Resource temporarily unavailable");
219329
219349
  }
@@ -233941,10 +233961,14 @@ var init_planAgent = __esm(() => {
233941
233961
  // src/tools/AgentTool/built-in/statuslineSetup.ts
233942
233962
  var STATUSLINE_SYSTEM_PROMPT = `You are a status line setup agent for Cody CLI. Your job is to create or update the statusLine command in the user's Cody CLI settings.
233943
233963
 
233964
+ Cody CLI stores all configuration in ~/.cody/ (not ~/.claude/).
233965
+ - User settings file: ~/.cody/settings.json
233966
+ - Status line script: ~/.cody/statusline-command.sh
233967
+
233944
233968
  When asked to convert the user's shell PS1 configuration, follow these steps:
233945
233969
  1. Read the user's shell configuration files in this order of preference:
233946
233970
  - ~/.zshrc
233947
- - ~/.bashrc
233971
+ - ~/.bashrc
233948
233972
  - ~/.bash_profile
233949
233973
  - ~/.profile
233950
233974
 
@@ -233952,7 +233976,7 @@ When asked to convert the user's shell PS1 configuration, follow these steps:
233952
233976
 
233953
233977
  3. Convert PS1 escape sequences to shell commands:
233954
233978
  - \\u → $(whoami)
233955
- - \\h → $(hostname -s)
233979
+ - \\h → $(hostname -s)
233956
233980
  - \\H → $(hostname)
233957
233981
  - \\w → $(pwd)
233958
233982
  - \\W → $(basename "$(pwd)")
@@ -233978,15 +234002,15 @@ How to use the statusLine command:
233978
234002
  "transcript_path": "string", // Path to the conversation transcript
233979
234003
  "cwd": "string", // Current working directory
233980
234004
  "model": {
233981
- "id": "string", // Model ID (e.g., "claude-3-5-sonnet-20241022")
233982
- "display_name": "string" // Display name (e.g., "Claude 3.5 Sonnet")
234005
+ "id": "string", // Model ID (e.g., "qwen-coder-32b")
234006
+ "display_name": "string" // Display name (e.g., "Qwen Coder 32B")
233983
234007
  },
233984
234008
  "workspace": {
233985
234009
  "current_dir": "string", // Current working directory path
233986
234010
  "project_dir": "string", // Project root directory path
233987
234011
  "added_dirs": ["string"] // Directories added via /add-dir
233988
234012
  },
233989
- "version": "string", // Cody CLI app version (e.g., "1.0.71")
234013
+ "version": "string", // Cody CLI app version (e.g., "0.7.34")
233990
234014
  "output_style": {
233991
234015
  "name": "string", // Output style name (e.g., "default", "Explanatory", "Learning")
233992
234016
  },
@@ -234003,7 +234027,7 @@ How to use the statusLine command:
234003
234027
  "used_percentage": number | null, // Pre-calculated: % of context used (0-100), null if no messages yet
234004
234028
  "remaining_percentage": number | null // Pre-calculated: % of context remaining (0-100), null if no messages yet
234005
234029
  },
234006
- "rate_limits": { // Optional: Claude.ai subscription usage limits. Only present for subscribers after first API response.
234030
+ "rate_limits": { // Optional: AINative subscription usage limits. Only present for subscribers after first API response.
234007
234031
  "five_hour": { // Optional: 5-hour session limit (may be absent)
234008
234032
  "used_percentage": number, // Percentage of limit used (0-100)
234009
234033
  "resets_at": number // Unix epoch seconds when this window resets
@@ -234016,7 +234040,7 @@ How to use the statusLine command:
234016
234040
  "vim": { // Optional, only present when vim mode is enabled
234017
234041
  "mode": "INSERT" | "NORMAL" // Current vim editor mode
234018
234042
  },
234019
- "agent": { // Optional, only present when Claude is started with --agent flag
234043
+ "agent": { // Optional, only present when Cody is started with --agent flag
234020
234044
  "name": "string", // Agent name (e.g., "code-architect", "test-runner")
234021
234045
  "type": "string" // Optional: Agent type identifier
234022
234046
  },
@@ -234024,11 +234048,11 @@ How to use the statusLine command:
234024
234048
  "name": "string", // Worktree name/slug (e.g., "my-feature")
234025
234049
  "path": "string", // Full path to the worktree directory
234026
234050
  "branch": "string", // Optional: Git branch name for the worktree
234027
- "original_cwd": "string", // The directory Claude was in before entering the worktree
234051
+ "original_cwd": "string", // The directory Cody was in before entering the worktree
234028
234052
  "original_branch": "string" // Optional: Branch that was checked out before entering the worktree
234029
234053
  }
234030
234054
  }
234031
-
234055
+
234032
234056
  You can use this JSON data in your command like:
234033
234057
  - $(cat | jq -r '.model.display_name')
234034
234058
  - $(cat | jq -r '.workspace.current_dir')
@@ -234043,29 +234067,28 @@ How to use the statusLine command:
234043
234067
  Or to display context used percentage:
234044
234068
  - input=$(cat); used=$(echo "$input" | jq -r '.context_window.used_percentage // empty'); [ -n "$used" ] && echo "Context: $used% used"
234045
234069
 
234046
- To display subscription rate limit usage (5-hour session limit):
234070
+ To display AINative subscription rate limit usage (5-hour session limit):
234047
234071
  - input=$(cat); pct=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty'); [ -n "$pct" ] && printf "5h: %.0f%%" "$pct"
234048
234072
 
234049
234073
  To display both 5-hour and 7-day limits when available:
234050
234074
  - input=$(cat); five=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty'); week=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty'); out=""; [ -n "$five" ] && out="5h:$(printf '%.0f' "$five")%"; [ -n "$week" ] && out="$out 7d:$(printf '%.0f' "$week")%"; echo "$out"
234051
234075
 
234052
- 2. For longer commands, you can save a new file in the user's ~/.cody directory, e.g.:
234053
- - ~/.cody/statusline-command.sh and reference that file in the settings.
234076
+ 2. For longer commands, save the script to ~/.cody/statusline-command.sh and reference it in settings.
234054
234077
 
234055
234078
  3. Update the user's ~/.cody/settings.json with:
234056
234079
  {
234057
234080
  "statusLine": {
234058
- "type": "command",
234059
- "command": "your_command_here"
234081
+ "type": "command",
234082
+ "command": "bash ~/.cody/statusline-command.sh"
234060
234083
  }
234061
234084
  }
234062
234085
 
234063
234086
  4. If ~/.cody/settings.json is a symlink, update the target file instead.
234064
234087
 
234065
234088
  Guidelines:
234066
- - Preserve existing settings when updating
234067
- - Return a summary of what was configured, including the name of the script file if used
234068
- - If the script includes git commands, they should skip optional locks
234089
+ - Preserve existing settings when updating ~/.cody/settings.json
234090
+ - Return a summary of what was configured, including the script file path if used
234091
+ - If the script includes git commands, they should skip optional locks (use -c core.useBuiltinFSMonitor=false)
234069
234092
  - IMPORTANT: At the end of your response, inform the parent agent that this "statusline-setup" agent must be used for further status line changes.
234070
234093
  Also ensure that the user is informed that they can ask Cody to continue to make changes to the status line.
234071
234094
  `, STATUSLINE_SETUP_AGENT;
@@ -247498,7 +247521,7 @@ function getTelemetryAttributes() {
247498
247521
  attributes["session.id"] = sessionId;
247499
247522
  }
247500
247523
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
247501
- attributes["app.version"] = "0.7.15";
247524
+ attributes["app.version"] = "0.7.35";
247502
247525
  }
247503
247526
  const oauthAccount = getOauthAccountInfo();
247504
247527
  if (oauthAccount) {
@@ -272924,7 +272947,7 @@ function resolvePluginMcpEnvironment(config3, plugin, userConfig, errors4, plugi
272924
272947
  case "sse-ide":
272925
272948
  case "ws-ide":
272926
272949
  case "sdk":
272927
- case "claudeai-proxy":
272950
+ case "ainative-proxy":
272928
272951
  resolved = config3;
272929
272952
  break;
272930
272953
  }
@@ -272979,24 +273002,24 @@ var init_mcpPluginIntegration = __esm(() => {
272979
273002
  init_pluginOptionsStorage();
272980
273003
  });
272981
273004
 
272982
- // src/services/mcp/claudeai.ts
272983
- function clearClaudeAIMcpConfigsCache() {
272984
- fetchClaudeAIMcpConfigsIfEligible.cache.clear?.();
273005
+ // src/services/mcp/ainative.ts
273006
+ function clearAINativeMcpConfigsCache() {
273007
+ fetchAINativeMcpConfigsIfEligible.cache.clear?.();
272985
273008
  clearMcpAuthCache();
272986
273009
  }
272987
- function markClaudeAiMcpConnected(name3) {
273010
+ function markAINativeMcpConnected(name3) {
272988
273011
  saveGlobalConfig((current) => {
272989
- const seen = current.claudeAiMcpEverConnected ?? [];
273012
+ const seen = current.ainativeMcpEverConnected ?? [];
272990
273013
  if (seen.includes(name3))
272991
273014
  return current;
272992
- return { ...current, claudeAiMcpEverConnected: [...seen, name3] };
273015
+ return { ...current, ainativeMcpEverConnected: [...seen, name3] };
272993
273016
  });
272994
273017
  }
272995
- function hasClaudeAiMcpEverConnected(name3) {
272996
- return (getGlobalConfig().claudeAiMcpEverConnected ?? []).includes(name3);
273018
+ function hasAINativeMcpEverConnected(name3) {
273019
+ return (getGlobalConfig().ainativeMcpEverConnected ?? []).includes(name3);
272997
273020
  }
272998
- var FETCH_TIMEOUT_MS = 5000, MCP_SERVERS_BETA_HEADER = "mcp-servers-2025-12-04", fetchClaudeAIMcpConfigsIfEligible;
272999
- var init_claudeai = __esm(() => {
273021
+ var FETCH_TIMEOUT_MS = 5000, fetchAINativeMcpConfigsIfEligible;
273022
+ var init_ainative = __esm(() => {
273000
273023
  init_axios2();
273001
273024
  init_memoize();
273002
273025
  init_oauth();
@@ -273006,46 +273029,44 @@ var init_claudeai = __esm(() => {
273006
273029
  init_debug();
273007
273030
  init_envUtils();
273008
273031
  init_client8();
273009
- fetchClaudeAIMcpConfigsIfEligible = memoize_default(async () => {
273032
+ fetchAINativeMcpConfigsIfEligible = memoize_default(async () => {
273010
273033
  try {
273011
- if (isEnvDefinedFalsy(process.env.ENABLE_CLAUDEAI_MCP_SERVERS)) {
273012
- logForDebugging("[claudeai-mcp] Disabled via env var");
273013
- logEvent("tengu_claudeai_mcp_eligibility", {
273034
+ if (isEnvDefinedFalsy(process.env.ENABLE_AINATIVE_MCP_SERVERS)) {
273035
+ logForDebugging("[ainative-mcp] Disabled via env var");
273036
+ logEvent("tengu_ainative_mcp_eligibility", {
273014
273037
  state: "disabled_env_var"
273015
273038
  });
273016
273039
  return {};
273017
273040
  }
273018
273041
  const tokens = getClaudeAIOAuthTokens();
273019
273042
  if (!tokens?.accessToken) {
273020
- logForDebugging("[claudeai-mcp] No access token");
273021
- logEvent("tengu_claudeai_mcp_eligibility", {
273043
+ logForDebugging("[ainative-mcp] No access token");
273044
+ logEvent("tengu_ainative_mcp_eligibility", {
273022
273045
  state: "no_oauth_token"
273023
273046
  });
273024
273047
  return {};
273025
273048
  }
273026
273049
  if (!tokens.scopes?.includes("user:mcp_servers")) {
273027
- logForDebugging(`[claudeai-mcp] Missing user:mcp_servers scope (scopes=${tokens.scopes?.join(",") || "none"})`);
273028
- logEvent("tengu_claudeai_mcp_eligibility", {
273050
+ logForDebugging(`[ainative-mcp] Missing user:mcp_servers scope (scopes=${tokens.scopes?.join(",") || "none"})`);
273051
+ logEvent("tengu_ainative_mcp_eligibility", {
273029
273052
  state: "missing_scope"
273030
273053
  });
273031
273054
  return {};
273032
273055
  }
273033
273056
  const baseUrl = getOauthConfig().BASE_API_URL;
273034
- const url3 = `${baseUrl}/v1/mcp_servers?limit=1000`;
273035
- logForDebugging(`[claudeai-mcp] Fetching from ${url3}`);
273057
+ const url3 = `${baseUrl}/api/oauth/account/mcp_servers`;
273058
+ logForDebugging(`[ainative-mcp] Fetching from ${url3}`);
273036
273059
  const response = await axios_default.get(url3, {
273037
273060
  headers: {
273038
273061
  Authorization: `Bearer ${tokens.accessToken}`,
273039
- "Content-Type": "application/json",
273040
- "anthropic-beta": MCP_SERVERS_BETA_HEADER,
273041
- "anthropic-version": "2023-06-01"
273062
+ "Content-Type": "application/json"
273042
273063
  },
273043
273064
  timeout: FETCH_TIMEOUT_MS
273044
273065
  });
273045
273066
  const configs = {};
273046
273067
  const usedNormalizedNames = new Set;
273047
273068
  for (const server of response.data.data) {
273048
- const baseName = `claude.ai ${server.display_name}`;
273069
+ const baseName = `ainative ${server.display_name}`;
273049
273070
  let finalName = baseName;
273050
273071
  let finalNormalized = normalizeNameForMCP(finalName);
273051
273072
  let count3 = 1;
@@ -273056,19 +273077,19 @@ var init_claudeai = __esm(() => {
273056
273077
  }
273057
273078
  usedNormalizedNames.add(finalNormalized);
273058
273079
  configs[finalName] = {
273059
- type: "claudeai-proxy",
273080
+ type: "ainative-proxy",
273060
273081
  url: server.url,
273061
273082
  id: server.id,
273062
- scope: "claudeai"
273083
+ scope: "ainative"
273063
273084
  };
273064
273085
  }
273065
- logForDebugging(`[claudeai-mcp] Fetched ${Object.keys(configs).length} servers`);
273066
- logEvent("tengu_claudeai_mcp_eligibility", {
273086
+ logForDebugging(`[ainative-mcp] Fetched ${Object.keys(configs).length} servers`);
273087
+ logEvent("tengu_ainative_mcp_eligibility", {
273067
273088
  state: "eligible"
273068
273089
  });
273069
273090
  return configs;
273070
273091
  } catch {
273071
- logForDebugging(`[claudeai-mcp] Fetch failed`);
273092
+ logForDebugging(`[ainative-mcp] Fetch failed`);
273072
273093
  return {};
273073
273094
  }
273074
273095
  });
@@ -273196,7 +273217,7 @@ function dedupPluginMcpServers(pluginServers, manualServers) {
273196
273217
  }
273197
273218
  return { servers, suppressed };
273198
273219
  }
273199
- function dedupClaudeAiMcpServers(claudeAiServers, manualServers) {
273220
+ function dedupAINativeMcpServers(claudeAiServers, manualServers) {
273200
273221
  const manualSigs = new Map;
273201
273222
  for (const [name3, config3] of Object.entries(manualServers)) {
273202
273223
  if (isMcpServerDisabled(name3))
@@ -273382,7 +273403,7 @@ function expandEnvVars(config3) {
273382
273403
  case "sdk":
273383
273404
  expanded = config3;
273384
273405
  break;
273385
- case "claudeai-proxy":
273406
+ case "ainative-proxy":
273386
273407
  expanded = config3;
273387
273408
  break;
273388
273409
  }
@@ -273440,8 +273461,9 @@ async function addMcpConfig(name3, config3, scope) {
273440
273461
  throw new Error("Cannot add MCP server to scope: dynamic");
273441
273462
  case "enterprise":
273442
273463
  throw new Error("Cannot add MCP server to scope: enterprise");
273464
+ case "ainative":
273443
273465
  case "claudeai":
273444
- throw new Error("Cannot add MCP server to scope: claudeai");
273466
+ throw new Error("Cannot add MCP server to scope: ainative");
273445
273467
  }
273446
273468
  switch (scope) {
273447
273469
  case "project": {
@@ -273783,11 +273805,11 @@ async function getAllMcpConfigs() {
273783
273805
  if (doesEnterpriseMcpConfigExist()) {
273784
273806
  return getClaudeCodeMcpConfigs();
273785
273807
  }
273786
- const claudeaiPromise = fetchClaudeAIMcpConfigsIfEligible();
273787
- const { servers: claudeCodeServers, errors: errors4 } = await getClaudeCodeMcpConfigs({}, claudeaiPromise);
273788
- const { allowed: claudeaiMcpServers } = filterMcpServersByPolicy(await claudeaiPromise);
273789
- const { servers: dedupedClaudeAi } = dedupClaudeAiMcpServers(claudeaiMcpServers, claudeCodeServers);
273790
- const servers = Object.assign({}, dedupedClaudeAi, claudeCodeServers);
273808
+ const ainativePromise = fetchAINativeMcpConfigsIfEligible();
273809
+ const { servers: claudeCodeServers, errors: errors4 } = await getClaudeCodeMcpConfigs({}, ainativePromise);
273810
+ const { allowed: ainativeMcpServers } = filterMcpServersByPolicy(await ainativePromise);
273811
+ const { servers: dedupedAINative } = dedupAINativeMcpServers(ainativeMcpServers, claudeCodeServers);
273812
+ const servers = Object.assign({}, dedupedAINative, claudeCodeServers);
273791
273813
  return { servers, errors: errors4 };
273792
273814
  }
273793
273815
  function parseMcpConfig(params) {
@@ -273985,7 +274007,7 @@ var init_config3 = __esm(() => {
273985
274007
  init_types3();
273986
274008
  init_slowOperations();
273987
274009
  init_analytics();
273988
- init_claudeai();
274010
+ init_ainative();
273989
274011
  init_types2();
273990
274012
  init_utils5();
273991
274013
  CCR_PROXY_PATH_MARKERS = [
@@ -274089,6 +274111,7 @@ function describeMcpConfigFilePath(scope) {
274089
274111
  return "Dynamically configured";
274090
274112
  case "enterprise":
274091
274113
  return getEnterpriseMcpFilePath();
274114
+ case "ainative":
274092
274115
  case "claudeai":
274093
274116
  return "ainative.studio";
274094
274117
  default:
@@ -274107,6 +274130,7 @@ function getScopeLabel(scope) {
274107
274130
  return "Dynamic config (from command line)";
274108
274131
  case "enterprise":
274109
274132
  return "Enterprise config (managed by your organization)";
274133
+ case "ainative":
274110
274134
  case "claudeai":
274111
274135
  return "ainative.studio config";
274112
274136
  default:
@@ -274171,8 +274195,8 @@ function getMcpServerScopeFromToolName(toolName) {
274171
274195
  return null;
274172
274196
  }
274173
274197
  const serverConfig = getMcpConfigByName(mcpInfo.serverName);
274174
- if (!serverConfig && mcpInfo.serverName.startsWith("claude_ai_")) {
274175
- return "claudeai";
274198
+ if (!serverConfig && mcpInfo.serverName.startsWith("ainative_")) {
274199
+ return "ainative";
274176
274200
  }
274177
274201
  return serverConfig?.scope ?? null;
274178
274202
  }
@@ -276222,7 +276246,7 @@ function createMcpAuthTool(serverName, config3) {
276222
276246
  return { behavior: "allow", updatedInput: input };
276223
276247
  },
276224
276248
  async call(_input, context3) {
276225
- if (config3.type === "claudeai-proxy") {
276249
+ if (config3.type === "ainative-proxy") {
276226
276250
  return {
276227
276251
  data: {
276228
276252
  status: "unsupported",
@@ -278680,7 +278704,7 @@ function getInstallationEnv() {
278680
278704
  return;
278681
278705
  }
278682
278706
  function getClaudeCodeVersion() {
278683
- return "0.7.15";
278707
+ return "0.7.35";
278684
278708
  }
278685
278709
  async function getInstalledVSCodeExtensionVersion(command) {
278686
278710
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -283427,7 +283451,7 @@ function handleRemoteAuthFailure(name3, serverRef, transportType) {
283427
283451
  const label = {
283428
283452
  sse: "SSE",
283429
283453
  http: "HTTP",
283430
- "claudeai-proxy": "AINative proxy"
283454
+ "ainative-proxy": "AINative proxy"
283431
283455
  };
283432
283456
  logMCPDebug(name3, `Authentication required for ${label[transportType]} server`);
283433
283457
  setMcpAuthCacheEntry(name3);
@@ -283583,8 +283607,8 @@ async function reconnectMcpServerImpl(name3, config3) {
283583
283607
  commands: []
283584
283608
  };
283585
283609
  }
283586
- if (config3.type === "claudeai-proxy") {
283587
- markClaudeAiMcpConnected(name3);
283610
+ if (config3.type === "ainative-proxy") {
283611
+ markAINativeMcpConnected(name3);
283588
283612
  }
283589
283613
  const supportsResources = !!client4.capabilities?.resources;
283590
283614
  const [tools, mcpCommands, mcpSkills, resources] = await Promise.all([
@@ -283664,7 +283688,7 @@ async function getMcpToolsCommandsAndResources(onConnectionAttempt, mcpConfigs)
283664
283688
  });
283665
283689
  return;
283666
283690
  }
283667
- if ((config3.type === "claudeai-proxy" || config3.type === "http" || config3.type === "sse") && (await isMcpAuthCached(name3) || (config3.type === "http" || config3.type === "sse") && hasMcpDiscoveryButNoToken(name3, config3))) {
283691
+ if ((config3.type === "ainative-proxy" || config3.type === "http" || config3.type === "sse") && (await isMcpAuthCached(name3) || (config3.type === "http" || config3.type === "sse") && hasMcpDiscoveryButNoToken(name3, config3))) {
283668
283692
  logMCPDebug(name3, `Skipping connection (cached needs-auth)`);
283669
283693
  onConnectionAttempt({
283670
283694
  client: { name: name3, type: "needs-auth", config: config3 },
@@ -283682,8 +283706,8 @@ async function getMcpToolsCommandsAndResources(onConnectionAttempt, mcpConfigs)
283682
283706
  });
283683
283707
  return;
283684
283708
  }
283685
- if (config3.type === "claudeai-proxy") {
283686
- markClaudeAiMcpConnected(name3);
283709
+ if (config3.type === "ainative-proxy") {
283710
+ markAINativeMcpConnected(name3);
283687
283711
  }
283688
283712
  const supportsResources = !!client4.capabilities?.resources;
283689
283713
  const [tools, mcpCommands, mcpSkills, resources] = await Promise.all([
@@ -284182,7 +284206,7 @@ async function callMCPTool({
284182
284206
  throw new McpAuthError(name3, `MCP server "${name3}" requires re-authorization (token expired)`);
284183
284207
  }
284184
284208
  const isSessionExpired = isMcpSessionExpiredError(e);
284185
- const isConnectionClosedOnHttp = "code" in e && e.code === -32000 && e.message.includes("Connection closed") && (config3.type === "http" || config3.type === "claudeai-proxy");
284209
+ const isConnectionClosedOnHttp = "code" in e && e.code === -32000 && e.message.includes("Connection closed") && (config3.type === "http" || config3.type === "ainative-proxy");
284186
284210
  if (isSessionExpired || isConnectionClosedOnHttp) {
284187
284211
  logMCPDebug(name3, `MCP session expired during tool call (${isSessionExpired ? "404/-32001" : "connection closed"}), clearing connection cache for re-initialization`);
284188
284212
  logEvent("tengu_mcp_session_expired", {});
@@ -284214,7 +284238,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
284214
284238
  const client4 = new Client({
284215
284239
  name: "claude-code",
284216
284240
  title: "Cody CLI",
284217
- version: "0.7.15",
284241
+ version: "0.7.35",
284218
284242
  description: "Anthropic's agentic coding tool",
284219
284243
  websiteUrl: PRODUCT_URL
284220
284244
  }, {
@@ -284308,7 +284332,7 @@ var init_client8 = __esm(() => {
284308
284332
  init_classifyForCollapse();
284309
284333
  init_macOsKeychainHelpers();
284310
284334
  init_auth6();
284311
- init_claudeai();
284335
+ init_ainative();
284312
284336
  init_config3();
284313
284337
  init_headersHelper();
284314
284338
  init_common2();
@@ -284502,7 +284526,7 @@ var init_client8 = __esm(() => {
284502
284526
  logMCPDebug(name3, `HTTP transport created successfully`);
284503
284527
  } else if (serverRef.type === "sdk") {
284504
284528
  throw new Error("SDK servers should be handled in print.ts");
284505
- } else if (serverRef.type === "claudeai-proxy") {
284529
+ } else if (serverRef.type === "ainative-proxy") {
284506
284530
  logMCPDebug(name3, `Initializing claude.ai proxy transport for server ${serverRef.id}`);
284507
284531
  const tokens = getClaudeAIOAuthTokens();
284508
284532
  if (!tokens) {
@@ -284568,7 +284592,7 @@ var init_client8 = __esm(() => {
284568
284592
  const client4 = new Client({
284569
284593
  name: "claude-code",
284570
284594
  title: "Cody CLI",
284571
- version: "0.7.15",
284595
+ version: "0.7.35",
284572
284596
  description: "Anthropic's agentic coding tool",
284573
284597
  websiteUrl: PRODUCT_URL
284574
284598
  }, {
@@ -284648,12 +284672,12 @@ var init_client8 = __esm(() => {
284648
284672
  if (error43 instanceof UnauthorizedError) {
284649
284673
  return handleRemoteAuthFailure(name3, serverRef, "http");
284650
284674
  }
284651
- } else if (serverRef.type === "claudeai-proxy" && error43 instanceof Error) {
284675
+ } else if (serverRef.type === "ainative-proxy" && error43 instanceof Error) {
284652
284676
  logMCPDebug(name3, `claude.ai proxy connection failed after ${elapsed}ms: ${error43.message}`);
284653
284677
  logMCPError(name3, error43);
284654
284678
  const errorCode = error43.code;
284655
284679
  if (errorCode === 401) {
284656
- return handleRemoteAuthFailure(name3, serverRef, "claudeai-proxy");
284680
+ return handleRemoteAuthFailure(name3, serverRef, "ainative-proxy");
284657
284681
  }
284658
284682
  } else if (serverRef.type === "sse-ide" || serverRef.type === "ws-ide") {
284659
284683
  logEvent("tengu_mcp_ide_server_connection_failed", {
@@ -284744,7 +284768,7 @@ var init_client8 = __esm(() => {
284744
284768
  logMCPDebug(name3, `Connection error: ${error43.message}`);
284745
284769
  }
284746
284770
  }
284747
- if ((transportType === "http" || transportType === "claudeai-proxy") && isMcpSessionExpiredError(error43)) {
284771
+ if ((transportType === "http" || transportType === "ainative-proxy") && isMcpSessionExpiredError(error43)) {
284748
284772
  logMCPDebug(name3, `MCP session expired (server returned 404 with session-not-found), triggering reconnection`);
284749
284773
  closeTransportAndRejectPending("session expired");
284750
284774
  if (originalOnerror) {
@@ -284752,7 +284776,7 @@ var init_client8 = __esm(() => {
284752
284776
  }
284753
284777
  return;
284754
284778
  }
284755
- if (transportType === "sse" || transportType === "http" || transportType === "claudeai-proxy") {
284779
+ if (transportType === "sse" || transportType === "http" || transportType === "ainative-proxy") {
284756
284780
  if (error43.message.includes("Maximum reconnection attempts")) {
284757
284781
  closeTransportAndRejectPending("SSE reconnection exhausted");
284758
284782
  if (originalOnerror) {
@@ -332700,7 +332724,7 @@ async function initializeBetaTracing(resource) {
332700
332724
  });
332701
332725
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
332702
332726
  setLoggerProvider(loggerProvider);
332703
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.15");
332727
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.35");
332704
332728
  setEventLogger(eventLogger);
332705
332729
  process.on("beforeExit", async () => {
332706
332730
  await loggerProvider?.forceFlush();
@@ -332740,7 +332764,7 @@ async function initializeTelemetry() {
332740
332764
  const platform5 = getPlatform();
332741
332765
  const baseAttributes = {
332742
332766
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
332743
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "0.7.15"
332767
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "0.7.35"
332744
332768
  };
332745
332769
  if (platform5 === "wsl") {
332746
332770
  const wslVersion = getWslVersion();
@@ -332785,7 +332809,7 @@ async function initializeTelemetry() {
332785
332809
  } catch {}
332786
332810
  };
332787
332811
  registerCleanup(shutdownTelemetry2);
332788
- return meterProvider2.getMeter("com.anthropic.claude_code", "0.7.15");
332812
+ return meterProvider2.getMeter("com.anthropic.claude_code", "0.7.35");
332789
332813
  }
332790
332814
  const meterProvider = new import_sdk_metrics2.MeterProvider({
332791
332815
  resource,
@@ -332805,7 +332829,7 @@ async function initializeTelemetry() {
332805
332829
  });
332806
332830
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
332807
332831
  setLoggerProvider(loggerProvider);
332808
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.15");
332832
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.35");
332809
332833
  setEventLogger(eventLogger);
332810
332834
  logForDebugging("[3P telemetry] Event logger set successfully");
332811
332835
  process.on("beforeExit", async () => {
@@ -332867,7 +332891,7 @@ Current timeout: ${timeoutMs}ms
332867
332891
  }
332868
332892
  };
332869
332893
  registerCleanup(shutdownTelemetry);
332870
- return meterProvider.getMeter("com.anthropic.claude_code", "0.7.15");
332894
+ return meterProvider.getMeter("com.anthropic.claude_code", "0.7.35");
332871
332895
  }
332872
332896
  async function flushTelemetry() {
332873
332897
  const meterProvider = getMeterProvider();
@@ -333556,9 +333580,9 @@ async function assertMinVersion() {
333556
333580
  }
333557
333581
  try {
333558
333582
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
333559
- if (versionConfig.minVersion && lt("0.7.15", versionConfig.minVersion)) {
333583
+ if (versionConfig.minVersion && lt("0.7.35", versionConfig.minVersion)) {
333560
333584
  console.error(`
333561
- It looks like your version of Cody CLI (${"0.7.15"}) needs an update.
333585
+ It looks like your version of Cody CLI (${"0.7.35"}) needs an update.
333562
333586
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
333563
333587
 
333564
333588
  To update, please run:
@@ -333795,7 +333819,7 @@ async function installGlobalPackage(specificVersion) {
333795
333819
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
333796
333820
  logEvent("tengu_auto_updater_lock_contention", {
333797
333821
  pid: process.pid,
333798
- currentVersion: "0.7.15"
333822
+ currentVersion: "0.7.35"
333799
333823
  });
333800
333824
  return "in_progress";
333801
333825
  }
@@ -333804,7 +333828,7 @@ async function installGlobalPackage(specificVersion) {
333804
333828
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
333805
333829
  logError2(new Error("Windows NPM detected in WSL environment"));
333806
333830
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
333807
- currentVersion: "0.7.15"
333831
+ currentVersion: "0.7.35"
333808
333832
  });
333809
333833
  console.error(`
333810
333834
  Error: Windows NPM detected in WSL
@@ -334339,7 +334363,7 @@ function detectLinuxGlobPatternWarnings() {
334339
334363
  }
334340
334364
  async function getDoctorDiagnostic() {
334341
334365
  const installationType = await getCurrentInstallationType();
334342
- const version6 = typeof MACRO !== "undefined" ? "0.7.15" : "unknown";
334366
+ const version6 = typeof MACRO !== "undefined" ? "0.7.35" : "unknown";
334343
334367
  const installationPath = await getInstallationPath();
334344
334368
  const invokedBinary = getInvokedBinary();
334345
334369
  const multipleInstallations = await detectMultipleInstallations();
@@ -335174,8 +335198,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
335174
335198
  const maxVersion = await getMaxVersion();
335175
335199
  if (maxVersion && gt(version6, maxVersion)) {
335176
335200
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version6} to ${maxVersion}`);
335177
- if (gte("0.7.15", maxVersion)) {
335178
- logForDebugging(`Native installer: current version ${"0.7.15"} is already at or above maxVersion ${maxVersion}, skipping update`);
335201
+ if (gte("0.7.35", maxVersion)) {
335202
+ logForDebugging(`Native installer: current version ${"0.7.35"} is already at or above maxVersion ${maxVersion}, skipping update`);
335179
335203
  logEvent("tengu_native_update_skipped_max_version", {
335180
335204
  latency_ms: Date.now() - startTime,
335181
335205
  max_version: maxVersion,
@@ -335186,7 +335210,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
335186
335210
  version6 = maxVersion;
335187
335211
  }
335188
335212
  }
335189
- if (!forceReinstall && version6 === "0.7.15" && await versionIsAvailable(version6) && await isPossibleClaudeBinary(executablePath)) {
335213
+ if (!forceReinstall && version6 === "0.7.35" && await versionIsAvailable(version6) && await isPossibleClaudeBinary(executablePath)) {
335190
335214
  logForDebugging(`Found ${version6} at ${executablePath}, skipping install`);
335191
335215
  logEvent("tengu_native_update_complete", {
335192
335216
  latency_ms: Date.now() - startTime,
@@ -419007,7 +419031,7 @@ function getAnthropicEnvMetadata() {
419007
419031
  function getBuildAgeMinutes() {
419008
419032
  if (false)
419009
419033
  ;
419010
- const buildTime = new Date("1777196086").getTime();
419034
+ const buildTime = new Date("1777670343").getTime();
419011
419035
  if (isNaN(buildTime))
419012
419036
  return;
419013
419037
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -442520,7 +442544,7 @@ function Feedback({
442520
442544
  platform: env4.platform,
442521
442545
  gitRepo: envInfo.isGit,
442522
442546
  terminal: env4.terminal,
442523
- version: "0.7.15",
442547
+ version: "0.7.35",
442524
442548
  transcript: normalizeMessagesForAPI(messages),
442525
442549
  errors: sanitizedErrors,
442526
442550
  lastApiRequest: getLastAPIRequest(),
@@ -442712,7 +442736,7 @@ function Feedback({
442712
442736
  ", ",
442713
442737
  env4.terminal,
442714
442738
  ", v",
442715
- "0.7.15"
442739
+ "0.7.35"
442716
442740
  ]
442717
442741
  }, undefined, true, undefined, this)
442718
442742
  ]
@@ -442818,7 +442842,7 @@ ${sanitizedDescription}
442818
442842
  ` + `**Environment Info**
442819
442843
  ` + `- Platform: ${env4.platform}
442820
442844
  ` + `- Terminal: ${env4.terminal}
442821
- ` + `- Version: ${"0.7.15"}
442845
+ ` + `- Version: ${"0.7.35"}
442822
442846
  ` + `- Feedback ID: ${feedbackId}
442823
442847
  ` + `
442824
442848
  **Errors**
@@ -445918,7 +445942,7 @@ function buildPrimarySection() {
445918
445942
  }, undefined, false, undefined, this);
445919
445943
  return [{
445920
445944
  label: "Version",
445921
- value: "0.7.15"
445945
+ value: "0.7.35"
445922
445946
  }, {
445923
445947
  label: "Session name",
445924
445948
  value: nameValue
@@ -449669,7 +449693,7 @@ function Config({
449669
449693
  }
449670
449694
  }, undefined, false, undefined, this)
449671
449695
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
449672
- currentVersion: "0.7.15",
449696
+ currentVersion: "0.7.35",
449673
449697
  onChoice: (choice) => {
449674
449698
  setShowSubmenu(null);
449675
449699
  setTabsHidden(false);
@@ -449681,7 +449705,7 @@ function Config({
449681
449705
  autoUpdatesChannel: "stable"
449682
449706
  };
449683
449707
  if (choice === "stay") {
449684
- newSettings.minimumVersion = "0.7.15";
449708
+ newSettings.minimumVersion = "0.7.35";
449685
449709
  }
449686
449710
  updateSettingsForSource("userSettings", newSettings);
449687
449711
  setSettingsData((prev_27) => ({
@@ -457723,7 +457747,7 @@ function HelpV2(t0) {
457723
457747
  let t6;
457724
457748
  if ($3[31] !== tabs) {
457725
457749
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
457726
- title: `Cody CLI v${"0.7.15"}`,
457750
+ title: `Cody CLI v${"0.7.35"}`,
457727
457751
  color: "professionalBlue",
457728
457752
  defaultTab: "general",
457729
457753
  children: tabs
@@ -463475,10 +463499,10 @@ function _temp324(a2, b3) {
463475
463499
  return a2.name.localeCompare(b3.name);
463476
463500
  }
463477
463501
  function _temp235(s_0) {
463478
- return s_0.client.config.type === "claudeai-proxy";
463502
+ return s_0.client.config.type === "ainative-proxy";
463479
463503
  }
463480
463504
  function _temp97(s) {
463481
- return s.client.config.type !== "claudeai-proxy";
463505
+ return s.client.config.type !== "ainative-proxy";
463482
463506
  }
463483
463507
  var import_compiler_runtime178, import_react124, jsx_dev_runtime223, SCOPE_ORDER;
463484
463508
  var init_MCPListPanel = __esm(() => {
@@ -464090,14 +464114,14 @@ function useManageMCPConnections(dynamicMcpConfig, isStrictMcpConfig = false) {
464090
464114
  import_react125.useEffect(() => {
464091
464115
  let cancelled = false;
464092
464116
  async function loadAndConnectMcpConfigs() {
464093
- let claudeaiPromise;
464117
+ let ainativePromise;
464094
464118
  if (isStrictMcpConfig || doesEnterpriseMcpConfigExist() || process.env.CODY_CLI === "1") {
464095
- claudeaiPromise = Promise.resolve({});
464119
+ ainativePromise = Promise.resolve({});
464096
464120
  } else {
464097
- clearClaudeAIMcpConfigsCache();
464098
- claudeaiPromise = fetchClaudeAIMcpConfigsIfEligible();
464121
+ clearAINativeMcpConfigsCache();
464122
+ ainativePromise = fetchAINativeMcpConfigsIfEligible();
464099
464123
  }
464100
- const { servers: claudeCodeConfigs, errors: mcpErrors } = isStrictMcpConfig ? { servers: {}, errors: [] } : await getClaudeCodeMcpConfigs(dynamicMcpConfig, claudeaiPromise);
464124
+ const { servers: claudeCodeConfigs, errors: mcpErrors } = isStrictMcpConfig ? { servers: {}, errors: [] } : await getClaudeCodeMcpConfigs(dynamicMcpConfig, ainativePromise);
464101
464125
  if (cancelled)
464102
464126
  return;
464103
464127
  addErrorsToAppState(setAppState, mcpErrors);
@@ -464106,19 +464130,19 @@ function useManageMCPConnections(dynamicMcpConfig, isStrictMcpConfig = false) {
464106
464130
  getMcpToolsCommandsAndResources(onConnectionAttempt, enabledConfigs).catch((error43) => {
464107
464131
  logMCPError("useManageMcpConnections", `Failed to get MCP resources: ${errorMessage(error43)}`);
464108
464132
  });
464109
- let claudeaiConfigs = {};
464133
+ let ainativeConfigs = {};
464110
464134
  if (!isStrictMcpConfig) {
464111
- claudeaiConfigs = filterMcpServersByPolicy(await claudeaiPromise).allowed;
464135
+ ainativeConfigs = filterMcpServersByPolicy(await ainativePromise).allowed;
464112
464136
  if (cancelled)
464113
464137
  return;
464114
- if (Object.keys(claudeaiConfigs).length > 0) {
464115
- const { servers: dedupedClaudeAi } = dedupClaudeAiMcpServers(claudeaiConfigs, configs);
464116
- claudeaiConfigs = dedupedClaudeAi;
464138
+ if (Object.keys(ainativeConfigs).length > 0) {
464139
+ const { servers: dedupedAINative } = dedupAINativeMcpServers(ainativeConfigs, configs);
464140
+ ainativeConfigs = dedupedAINative;
464117
464141
  }
464118
- if (Object.keys(claudeaiConfigs).length > 0) {
464142
+ if (Object.keys(ainativeConfigs).length > 0) {
464119
464143
  setAppState((prevState) => {
464120
464144
  const existingServerNames = new Set(prevState.mcp.clients.map((c6) => c6.name));
464121
- const newClients = Object.entries(claudeaiConfigs).filter(([name3]) => !existingServerNames.has(name3)).map(([name3, config4]) => ({
464145
+ const newClients = Object.entries(ainativeConfigs).filter(([name3]) => !existingServerNames.has(name3)).map(([name3, config4]) => ({
464122
464146
  name: name3,
464123
464147
  type: isMcpServerDisabled(name3) ? "disabled" : "pending",
464124
464148
  config: config4
@@ -464133,20 +464157,20 @@ function useManageMCPConnections(dynamicMcpConfig, isStrictMcpConfig = false) {
464133
464157
  }
464134
464158
  };
464135
464159
  });
464136
- const enabledClaudeaiConfigs = Object.fromEntries(Object.entries(claudeaiConfigs).filter(([name3]) => !isMcpServerDisabled(name3)));
464160
+ const enabledClaudeaiConfigs = Object.fromEntries(Object.entries(ainativeConfigs).filter(([name3]) => !isMcpServerDisabled(name3)));
464137
464161
  getMcpToolsCommandsAndResources(onConnectionAttempt, enabledClaudeaiConfigs).catch((error43) => {
464138
464162
  logMCPError("useManageMcpConnections", `Failed to get claude.ai MCP resources: ${errorMessage(error43)}`);
464139
464163
  });
464140
464164
  }
464141
464165
  }
464142
- const allConfigs = { ...configs, ...claudeaiConfigs };
464166
+ const allConfigs = { ...configs, ...ainativeConfigs };
464143
464167
  const counts = {
464144
464168
  enterprise: 0,
464145
464169
  global: 0,
464146
464170
  project: 0,
464147
464171
  user: 0,
464148
464172
  plugin: 0,
464149
- claudeai: 0
464173
+ ainative: 0
464150
464174
  };
464151
464175
  const stdioCommands = [];
464152
464176
  for (const [name3, serverConfig] of Object.entries(allConfigs)) {
@@ -464160,8 +464184,8 @@ function useManageMCPConnections(dynamicMcpConfig, isStrictMcpConfig = false) {
464160
464184
  counts.user++;
464161
464185
  else if (serverConfig.scope === "dynamic")
464162
464186
  counts.plugin++;
464163
- else if (serverConfig.scope === "claudeai")
464164
- counts.claudeai++;
464187
+ else if (serverConfig.scope === "ainative")
464188
+ counts.ainative++;
464165
464189
  if (false) {}
464166
464190
  }
464167
464191
  logEvent("tengu_mcp_servers", {
@@ -464273,7 +464297,7 @@ var init_useManageMCPConnections = __esm(() => {
464273
464297
  init_messageQueueManager();
464274
464298
  init_channelNotification();
464275
464299
  init_channelPermissions();
464276
- init_claudeai();
464300
+ init_ainative();
464277
464301
  init_elicitationHandler();
464278
464302
  init_mcpStringUtils();
464279
464303
  init_utils5();
@@ -464683,10 +464707,10 @@ function MCPRemoteServerMenu({
464683
464707
  const [isReconnecting, setIsReconnecting] = import_react128.useState(false);
464684
464708
  const authAbortControllerRef = import_react128.useRef(null);
464685
464709
  const [isClaudeAIAuthenticating, setIsClaudeAIAuthenticating] = import_react128.useState(false);
464686
- const [claudeAIAuthUrl, setClaudeAIAuthUrl] = import_react128.useState(null);
464710
+ const [ainativeAuthUrl, setClaudeAIAuthUrl] = import_react128.useState(null);
464687
464711
  const [isClaudeAIClearingAuth, setIsClaudeAIClearingAuth] = import_react128.useState(false);
464688
- const [claudeAIClearAuthUrl, setClaudeAIClearAuthUrl] = import_react128.useState(null);
464689
- const [claudeAIClearAuthBrowserOpened, setClaudeAIClearAuthBrowserOpened] = import_react128.useState(false);
464712
+ const [ainativeClearAuthUrl, setClaudeAIClearAuthUrl] = import_react128.useState(null);
464713
+ const [ainativeClearAuthBrowserOpened, setClaudeAIClearAuthBrowserOpened] = import_react128.useState(false);
464690
464714
  const [urlCopied, setUrlCopied] = import_react128.useState(false);
464691
464715
  const copyTimeoutRef = import_react128.useRef(undefined);
464692
464716
  const unmountedRef = import_react128.useRef(false);
@@ -464709,7 +464733,7 @@ function MCPRemoteServerMenu({
464709
464733
  try {
464710
464734
  const result = await reconnectMcpServer(server.name);
464711
464735
  const success2 = result.client.type === "connected";
464712
- logEvent("tengu_claudeai_mcp_auth_completed", {
464736
+ logEvent("tengu_ainative_mcp_auth_completed", {
464713
464737
  success: success2
464714
464738
  });
464715
464739
  if (success2) {
@@ -464720,7 +464744,7 @@ function MCPRemoteServerMenu({
464720
464744
  onComplete?.("Authentication successful, but server reconnection failed. You may need to manually restart Cody CLI for the changes to take effect.");
464721
464745
  }
464722
464746
  } catch (err2) {
464723
- logEvent("tengu_claudeai_mcp_auth_completed", {
464747
+ logEvent("tengu_ainative_mcp_auth_completed", {
464724
464748
  success: false
464725
464749
  });
464726
464750
  onComplete?.(handleReconnectError(err2, server.name));
@@ -464752,7 +464776,7 @@ function MCPRemoteServerMenu({
464752
464776
  }
464753
464777
  };
464754
464778
  });
464755
- logEvent("tengu_claudeai_mcp_clear_auth_completed", {});
464779
+ logEvent("tengu_ainative_mcp_clear_auth_completed", {});
464756
464780
  onComplete?.(`Disconnected from ${server.name}.`);
464757
464781
  setIsClaudeAIClearingAuth(false);
464758
464782
  setClaudeAIClearAuthUrl(null);
@@ -464787,7 +464811,7 @@ function MCPRemoteServerMenu({
464787
464811
  handleClaudeAIAuthComplete();
464788
464812
  }
464789
464813
  if (key.return && isClaudeAIClearingAuth) {
464790
- if (claudeAIClearAuthBrowserOpened) {
464814
+ if (ainativeClearAuthBrowserOpened) {
464791
464815
  handleClaudeAIClearAuthComplete();
464792
464816
  } else {
464793
464817
  const connectorsUrl = `${getOauthConfig().CLAUDE_AI_ORIGIN}/settings/connectors`;
@@ -464797,7 +464821,7 @@ function MCPRemoteServerMenu({
464797
464821
  }
464798
464822
  }
464799
464823
  if (input === "c" && !urlCopied) {
464800
- const urlToCopy = authorizationUrl || claudeAIAuthUrl || claudeAIClearAuthUrl;
464824
+ const urlToCopy = authorizationUrl || ainativeAuthUrl || ainativeClearAuthUrl;
464801
464825
  if (urlToCopy) {
464802
464826
  setClipboard(urlToCopy).then((raw) => {
464803
464827
  if (unmountedRef.current)
@@ -464817,32 +464841,32 @@ function MCPRemoteServerMenu({
464817
464841
  const serverCommandsCount = filterMcpPromptsByServer(mcp.commands, server.name).length;
464818
464842
  const toggleMcpServer = useMcpToggleEnabled();
464819
464843
  const handleClaudeAIAuth = import_react128.default.useCallback(async () => {
464820
- const claudeAiBaseUrl = getOauthConfig().CLAUDE_AI_ORIGIN;
464844
+ const ainativeBaseUrl = getOauthConfig().CLAUDE_AI_ORIGIN;
464821
464845
  const accountInfo = getOauthAccountInfo();
464822
464846
  const orgUuid = accountInfo?.organizationUuid;
464823
464847
  let authUrl;
464824
- if (orgUuid && server.config.type === "claudeai-proxy" && server.config.id) {
464848
+ if (orgUuid && server.config.type === "ainative-proxy" && server.config.id) {
464825
464849
  const serverId = server.config.id.startsWith("mcprs") ? "mcpsrv" + server.config.id.slice(5) : server.config.id;
464826
464850
  const productSurface = encodeURIComponent(process.env.CLAUDE_CODE_ENTRYPOINT || "cli");
464827
- authUrl = `${claudeAiBaseUrl}/api/organizations/${orgUuid}/mcp/start-auth/${serverId}?product_surface=${productSurface}`;
464851
+ authUrl = `${ainativeBaseUrl}/api/organizations/${orgUuid}/mcp/start-auth/${serverId}?product_surface=${productSurface}`;
464828
464852
  } else {
464829
- authUrl = `${claudeAiBaseUrl}/settings/connectors`;
464853
+ authUrl = `${ainativeBaseUrl}/settings/connectors`;
464830
464854
  }
464831
464855
  setClaudeAIAuthUrl(authUrl);
464832
464856
  setIsClaudeAIAuthenticating(true);
464833
- logEvent("tengu_claudeai_mcp_auth_started", {});
464857
+ logEvent("tengu_ainative_mcp_auth_started", {});
464834
464858
  await openBrowser(authUrl);
464835
464859
  }, [server.config]);
464836
464860
  const handleClaudeAIClearAuth = import_react128.default.useCallback(() => {
464837
464861
  setIsClaudeAIClearingAuth(true);
464838
- logEvent("tengu_claudeai_mcp_clear_auth_started", {});
464862
+ logEvent("tengu_ainative_mcp_clear_auth_started", {});
464839
464863
  }, []);
464840
464864
  const handleToggleEnabled = import_react128.default.useCallback(async () => {
464841
464865
  const wasEnabled = server.client.type !== "disabled";
464842
464866
  try {
464843
464867
  await toggleMcpServer(server.name);
464844
- if (server.config.type === "claudeai-proxy") {
464845
- logEvent("tengu_claudeai_mcp_toggle", {
464868
+ if (server.config.type === "ainative-proxy") {
464869
+ logEvent("tengu_ainative_mcp_toggle", {
464846
464870
  new_state: wasEnabled ? "disabled" : "enabled"
464847
464871
  });
464848
464872
  }
@@ -464853,7 +464877,7 @@ function MCPRemoteServerMenu({
464853
464877
  }
464854
464878
  }, [server.client.type, server.config.type, server.name, toggleMcpServer, onCancel, onComplete]);
464855
464879
  const handleAuthenticate = import_react128.default.useCallback(async () => {
464856
- if (server.config.type === "claudeai-proxy")
464880
+ if (server.config.type === "ainative-proxy")
464857
464881
  return;
464858
464882
  setIsAuthenticating(true);
464859
464883
  setError(null);
@@ -464897,7 +464921,7 @@ function MCPRemoteServerMenu({
464897
464921
  }
464898
464922
  }, [server.isAuthenticated, server.config, server.name, onComplete, reconnectMcpServer, isEffectivelyAuthenticated]);
464899
464923
  const handleClearAuth = async () => {
464900
- if (server.config.type === "claudeai-proxy")
464924
+ if (server.config.type === "ainative-proxy")
464901
464925
  return;
464902
464926
  if (server.config) {
464903
464927
  await revokeServerTokens(server.name, server.config);
@@ -464929,7 +464953,7 @@ function MCPRemoteServerMenu({
464929
464953
  }
464930
464954
  };
464931
464955
  if (isAuthenticating) {
464932
- const authCopy = server.config.type !== "claudeai-proxy" && server.config.oauth?.xaa ? " Authenticating via your identity provider" : " A browser window will open for authentication";
464956
+ const authCopy = server.config.type !== "ainative-proxy" && server.config.oauth?.xaa ? " Authenticating via your identity provider" : " A browser window will open for authentication";
464933
464957
  return /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
464934
464958
  flexDirection: "column",
464935
464959
  gap: 1,
@@ -465046,7 +465070,7 @@ function MCPRemoteServerMenu({
465046
465070
  }, undefined, false, undefined, this)
465047
465071
  ]
465048
465072
  }, undefined, true, undefined, this),
465049
- claudeAIAuthUrl && /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
465073
+ ainativeAuthUrl && /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
465050
465074
  flexDirection: "column",
465051
465075
  children: [
465052
465076
  /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
@@ -465072,7 +465096,7 @@ function MCPRemoteServerMenu({
465072
465096
  ]
465073
465097
  }, undefined, true, undefined, this),
465074
465098
  /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(Link, {
465075
- url: claudeAIAuthUrl
465099
+ url: ainativeAuthUrl
465076
465100
  }, undefined, false, undefined, this)
465077
465101
  ]
465078
465102
  }, undefined, true, undefined, this),
@@ -465119,12 +465143,12 @@ function MCPRemoteServerMenu({
465119
465143
  server.name
465120
465144
  ]
465121
465145
  }, undefined, true, undefined, this),
465122
- claudeAIClearAuthBrowserOpened ? /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(jsx_dev_runtime227.Fragment, {
465146
+ ainativeClearAuthBrowserOpened ? /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(jsx_dev_runtime227.Fragment, {
465123
465147
  children: [
465124
465148
  /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedText, {
465125
465149
  children: 'Find the MCP server in the browser and click "Disconnect".'
465126
465150
  }, undefined, false, undefined, this),
465127
- claudeAIClearAuthUrl && /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
465151
+ ainativeClearAuthUrl && /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
465128
465152
  flexDirection: "column",
465129
465153
  children: [
465130
465154
  /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
@@ -465150,7 +465174,7 @@ function MCPRemoteServerMenu({
465150
465174
  ]
465151
465175
  }, undefined, true, undefined, this),
465152
465176
  /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(Link, {
465153
- url: claudeAIClearAuthUrl
465177
+ url: ainativeClearAuthUrl
465154
465178
  }, undefined, false, undefined, this)
465155
465179
  ]
465156
465180
  }, undefined, true, undefined, this),
@@ -465264,16 +465288,16 @@ function MCPRemoteServerMenu({
465264
465288
  value: "tools"
465265
465289
  });
465266
465290
  }
465267
- if (server.config.type === "claudeai-proxy") {
465291
+ if (server.config.type === "ainative-proxy") {
465268
465292
  if (server.client.type === "connected") {
465269
465293
  menuOptions.push({
465270
465294
  label: "Clear authentication",
465271
- value: "claudeai-clear-auth"
465295
+ value: "ainative-clear-auth"
465272
465296
  });
465273
465297
  } else if (server.client.type !== "disabled") {
465274
465298
  menuOptions.push({
465275
465299
  label: "Authenticate",
465276
- value: "claudeai-auth"
465300
+ value: "ainative-auth"
465277
465301
  });
465278
465302
  }
465279
465303
  } else {
@@ -465373,7 +465397,7 @@ function MCPRemoteServerMenu({
465373
465397
  }, undefined, true, undefined, this)
465374
465398
  ]
465375
465399
  }, undefined, true, undefined, this),
465376
- server.transport !== "claudeai-proxy" && /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
465400
+ server.transport !== "ainative-proxy" && /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
465377
465401
  children: [
465378
465402
  /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedText, {
465379
465403
  bold: true,
@@ -465464,18 +465488,18 @@ function MCPRemoteServerMenu({
465464
465488
  case "clear-auth":
465465
465489
  await handleClearAuth();
465466
465490
  break;
465467
- case "claudeai-auth":
465491
+ case "ainative-auth":
465468
465492
  await handleClaudeAIAuth();
465469
465493
  break;
465470
- case "claudeai-clear-auth":
465494
+ case "ainative-clear-auth":
465471
465495
  handleClaudeAIClearAuth();
465472
465496
  break;
465473
465497
  case "reconnectMcpServer":
465474
465498
  setIsReconnecting(true);
465475
465499
  try {
465476
465500
  const result_1 = await reconnectMcpServer(server.name);
465477
- if (server.config.type === "claudeai-proxy") {
465478
- logEvent("tengu_claudeai_mcp_reconnect", {
465501
+ if (server.config.type === "ainative-proxy") {
465502
+ logEvent("tengu_ainative_mcp_reconnect", {
465479
465503
  success: result_1.client.type === "connected"
465480
465504
  });
465481
465505
  }
@@ -465484,8 +465508,8 @@ function MCPRemoteServerMenu({
465484
465508
  } = handleReconnectResult(result_1, server.name);
465485
465509
  onComplete?.(message_0);
465486
465510
  } catch (err_2) {
465487
- if (server.config.type === "claudeai-proxy") {
465488
- logEvent("tengu_claudeai_mcp_reconnect", {
465511
+ if (server.config.type === "ainative-proxy") {
465512
+ logEvent("tengu_ainative_mcp_reconnect", {
465489
465513
  success: false
465490
465514
  });
465491
465515
  }
@@ -466404,7 +466428,7 @@ function MCPSettings(t0) {
466404
466428
  const scope = client_0.config.scope;
466405
466429
  const isSSE = client_0.config.type === "sse";
466406
466430
  const isHTTP = client_0.config.type === "http";
466407
- const isClaudeAIProxy = client_0.config.type === "claudeai-proxy";
466431
+ const isClaudeAIProxy = client_0.config.type === "ainative-proxy";
466408
466432
  let isAuthenticated = undefined;
466409
466433
  if (isSSE || isHTTP) {
466410
466434
  const authProvider = new ClaudeAuthProvider(client_0.name, client_0.config);
@@ -466421,7 +466445,7 @@ function MCPSettings(t0) {
466421
466445
  if (isClaudeAIProxy) {
466422
466446
  return {
466423
466447
  ...baseInfo,
466424
- transport: "claudeai-proxy",
466448
+ transport: "ainative-proxy",
466425
466449
  isAuthenticated: false,
466426
466450
  config: client_0.config
466427
466451
  };
@@ -466544,7 +466568,7 @@ function MCPSettings(t0) {
466544
466568
  t9 = $3[25];
466545
466569
  }
466546
466570
  const serverTools_0 = t9;
466547
- const defaultTab = viewState.server.transport === "claudeai-proxy" ? "AINative" : "Cody CLI";
466571
+ const defaultTab = viewState.server.transport === "ainative-proxy" ? "AINative" : "Cody CLI";
466548
466572
  if (viewState.server.transport === "stdio") {
466549
466573
  let t10;
466550
466574
  if ($3[26] !== viewState.server) {
@@ -474628,12 +474652,12 @@ function ManagePlugins({
474628
474652
  onComplete: handleMcpComplete,
474629
474653
  borderless: true
474630
474654
  }, undefined, false, undefined, this);
474631
- } else if (configType === "claudeai-proxy") {
474655
+ } else if (configType === "ainative-proxy") {
474632
474656
  const server_2 = {
474633
474657
  name: client_3.name,
474634
474658
  client: client_3,
474635
474659
  scope: scope_5,
474636
- transport: "claudeai-proxy",
474660
+ transport: "ainative-proxy",
474637
474661
  isAuthenticated: undefined,
474638
474662
  config: client_3.config
474639
474663
  };
@@ -474685,7 +474709,7 @@ function ManagePlugins({
474685
474709
  name: client_4.name,
474686
474710
  client: client_4,
474687
474711
  scope: scope_6,
474688
- transport: "claudeai-proxy",
474712
+ transport: "ainative-proxy",
474689
474713
  isAuthenticated: undefined,
474690
474714
  config: client_4.config
474691
474715
  };
@@ -474744,7 +474768,7 @@ function ManagePlugins({
474744
474768
  name: client_5.name,
474745
474769
  client: client_5,
474746
474770
  scope: scope_7,
474747
- transport: "claudeai-proxy",
474771
+ transport: "ainative-proxy",
474748
474772
  isAuthenticated: undefined,
474749
474773
  config: client_5.config
474750
474774
  };
@@ -481913,7 +481937,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
481913
481937
  return [];
481914
481938
  }
481915
481939
  }
481916
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.15") {
481940
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.35") {
481917
481941
  if (false) {}
481918
481942
  const cachedChangelog = await getStoredChangelog();
481919
481943
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -481926,7 +481950,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.15")
481926
481950
  releaseNotes
481927
481951
  };
481928
481952
  }
481929
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.7.15") {
481953
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.7.35") {
481930
481954
  if (false) {}
481931
481955
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
481932
481956
  return {
@@ -483082,7 +483106,7 @@ function getRecentActivitySync() {
483082
483106
  return cachedActivity;
483083
483107
  }
483084
483108
  function getLogoDisplayData() {
483085
- const version6 = process.env.DEMO_VERSION ?? "0.7.15";
483109
+ const version6 = process.env.DEMO_VERSION ?? "0.7.35";
483086
483110
  const serverUrl = getDirectConnectServerUrl();
483087
483111
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
483088
483112
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -484502,7 +484526,7 @@ function LogoV2() {
484502
484526
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
484503
484527
  t2 = () => {
484504
484528
  const currentConfig = getGlobalConfig();
484505
- if (currentConfig.lastReleaseNotesSeen === "0.7.15") {
484529
+ if (currentConfig.lastReleaseNotesSeen === "0.7.35") {
484506
484530
  return;
484507
484531
  }
484508
484532
  saveGlobalConfig(_temp329);
@@ -485178,12 +485202,12 @@ function LogoV2() {
485178
485202
  return t41;
485179
485203
  }
485180
485204
  function _temp329(current) {
485181
- if (current.lastReleaseNotesSeen === "0.7.15") {
485205
+ if (current.lastReleaseNotesSeen === "0.7.35") {
485182
485206
  return current;
485183
485207
  }
485184
485208
  return {
485185
485209
  ...current,
485186
- lastReleaseNotesSeen: "0.7.15"
485210
+ lastReleaseNotesSeen: "0.7.35"
485187
485211
  };
485188
485212
  }
485189
485213
  function _temp245(s_0) {
@@ -485808,6 +485832,8 @@ var init_statusNoticeDefinitions = __esm(() => {
485808
485832
  id: "claude-ai-external-token",
485809
485833
  type: "warning",
485810
485834
  isActive: () => {
485835
+ if ((process.env.ANTHROPIC_BASE_URL || "").includes("ainative.studio"))
485836
+ return false;
485811
485837
  const authTokenInfo = getAuthTokenSource();
485812
485838
  return isActiveSubscriber() && (authTokenInfo.source === "ANTHROPIC_AUTH_TOKEN" || authTokenInfo.source === "apiKeyHelper");
485813
485839
  },
@@ -485839,6 +485865,8 @@ var init_statusNoticeDefinitions = __esm(() => {
485839
485865
  id: "api-key-conflict",
485840
485866
  type: "warning",
485841
485867
  isActive: () => {
485868
+ if ((process.env.ANTHROPIC_BASE_URL || "").includes("ainative.studio"))
485869
+ return false;
485842
485870
  const {
485843
485871
  source: apiKeySource
485844
485872
  } = getAnthropicApiKeyWithSource({
@@ -485878,6 +485906,8 @@ var init_statusNoticeDefinitions = __esm(() => {
485878
485906
  id: "both-auth-methods",
485879
485907
  type: "warning",
485880
485908
  isActive: () => {
485909
+ if ((process.env.ANTHROPIC_BASE_URL || "").includes("ainative.studio"))
485910
+ return false;
485881
485911
  const {
485882
485912
  source: apiKeySource
485883
485913
  } = getAnthropicApiKeyWithSource({
@@ -508880,62 +508910,8 @@ var init_DescriptionStep = __esm(() => {
508880
508910
  });
508881
508911
 
508882
508912
  // src/components/agents/generateAgent.ts
508883
- async function generateAgentViaChatCompletions(userPrompt, systemPromptText, existingIdentifiers) {
508884
- const baseUrl = process.env.ANTHROPIC_BASE_URL || "https://api.ainative.studio";
508885
- const apiKey = process.env.AINATIVE_API_KEY || process.env.ANTHROPIC_API_KEY || "";
508886
- const existingList = existingIdentifiers.length > 0 ? `
508887
-
508888
- IMPORTANT: The following identifiers already exist and must NOT be used: ${existingIdentifiers.join(", ")}` : "";
508889
- const resp = await fetch(`${baseUrl}/api/v1/chat/completions`, {
508890
- method: "POST",
508891
- headers: {
508892
- "Content-Type": "application/json",
508893
- "x-api-key": apiKey
508894
- },
508895
- body: JSON.stringify({
508896
- model: "claude-sonnet-4-5",
508897
- max_tokens: 4096,
508898
- messages: [
508899
- { role: "system", content: systemPromptText },
508900
- {
508901
- role: "user",
508902
- content: `Create an agent configuration based on this request: "${userPrompt}".${existingList}
508903
- Return ONLY the JSON object, no other text.`
508904
- }
508905
- ]
508906
- })
508907
- });
508908
- if (!resp.ok) {
508909
- throw new Error(`Chat completions error: ${resp.status}`);
508910
- }
508911
- const data = await resp.json();
508912
- const content = data.choices?.[0]?.message?.content;
508913
- const text2 = Array.isArray(content) ? content.join("") : String(content ?? "");
508914
- let parsed;
508915
- try {
508916
- parsed = jsonParse(text2.trim());
508917
- } catch {
508918
- const jsonMatch = text2.match(/\{[\s\S]*\}/);
508919
- if (!jsonMatch)
508920
- throw new Error("No JSON object found in response");
508921
- parsed = jsonParse(jsonMatch[0]);
508922
- }
508923
- if (!parsed.identifier || !parsed.whenToUse || !parsed.systemPrompt) {
508924
- throw new Error("Invalid agent configuration generated");
508925
- }
508926
- return parsed;
508927
- }
508928
508913
  async function generateAgent(userPrompt, model, existingIdentifiers, abortSignal) {
508929
508914
  const systemPromptText = isAutoMemoryEnabled() ? AGENT_CREATION_SYSTEM_PROMPT + AGENT_MEMORY_INSTRUCTIONS : AGENT_CREATION_SYSTEM_PROMPT;
508930
- if (isAINativeProvider()) {
508931
- try {
508932
- const result = await generateAgentViaChatCompletions(userPrompt, systemPromptText, existingIdentifiers);
508933
- logEvent("tengu_agent_definition_generated", {
508934
- agent_identifier: result.identifier
508935
- });
508936
- return result;
508937
- } catch {}
508938
- }
508939
508915
  const existingList = existingIdentifiers.length > 0 ? `
508940
508916
 
508941
508917
  IMPORTANT: The following identifiers already exist and must NOT be used: ${existingIdentifiers.join(", ")}` : "";
@@ -508975,7 +508951,11 @@ IMPORTANT: The following identifiers already exist and must NOT be used: ${exist
508975
508951
  parsed = jsonParse(jsonMatch[0]);
508976
508952
  }
508977
508953
  if (!parsed.identifier || !parsed.whenToUse || !parsed.systemPrompt) {
508978
- throw new Error("Invalid agent configuration generated");
508954
+ throw new Error(`Invalid agent configuration generated. Missing fields: ${[
508955
+ !parsed.identifier && "identifier",
508956
+ !parsed.whenToUse && "whenToUse",
508957
+ !parsed.systemPrompt && "systemPrompt"
508958
+ ].filter(Boolean).join(", ")}. Response: ${responseText.slice(0, 500)}`);
508979
508959
  }
508980
508960
  logEvent("tengu_agent_definition_generated", {
508981
508961
  agent_identifier: parsed.identifier
@@ -509014,7 +508994,6 @@ var init_generateAgent = __esm(() => {
509014
508994
  init_constants3();
509015
508995
  init_api3();
509016
508996
  init_messages3();
509017
- init_model();
509018
508997
  init_paths();
509019
508998
  init_analytics();
509020
508999
  init_slowOperations();
@@ -511521,7 +511500,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
511521
511500
  smapsRollup,
511522
511501
  platform: process.platform,
511523
511502
  nodeVersion: process.version,
511524
- ccVersion: "0.7.15"
511503
+ ccVersion: "0.7.35"
511525
511504
  };
511526
511505
  }
511527
511506
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -512049,7 +512028,7 @@ var init_bridge_kick = __esm(() => {
512049
512028
  var call56 = async () => {
512050
512029
  return {
512051
512030
  type: "text",
512052
- value: `${"0.7.15"} (built ${"1777196086"})`
512031
+ value: `${"0.7.35"} (built ${"1777670343"})`
512053
512032
  };
512054
512033
  }, version6, version_default;
512055
512034
  var init_version = __esm(() => {
@@ -516403,7 +516382,7 @@ var init_statusline = __esm(() => {
516403
516382
  aliases: [],
516404
516383
  name: "statusline",
516405
516384
  progressMessage: "setting up statusLine",
516406
- allowedTools: [AGENT_TOOL_NAME, "Read(~/**)", "Edit(~/.claude/settings.json)"],
516385
+ allowedTools: [AGENT_TOOL_NAME, "Read(~/**)", "Edit(~/.cody/settings.json)", "Edit(~/.cody/statusline-command.sh)", "Write(~/.cody/statusline-command.sh)"],
516407
516386
  source: "builtin",
516408
516387
  disableNonInteractive: true,
516409
516388
  async getPromptForCommand(args) {
@@ -520996,7 +520975,7 @@ function generateHtmlReport(data, insights) {
520996
520975
  </html>`;
520997
520976
  }
520998
520977
  function buildExportData(data, insights, facets, remoteStats) {
520999
- const version7 = typeof MACRO !== "undefined" ? "0.7.15" : "unknown";
520978
+ const version7 = typeof MACRO !== "undefined" ? "0.7.35" : "unknown";
521000
520979
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
521001
520980
  const facets_summary = {
521002
520981
  total: facets.size,
@@ -524942,7 +524921,7 @@ var init_sessionStorage = __esm(() => {
524942
524921
  init_settings2();
524943
524922
  init_slowOperations();
524944
524923
  init_uuid();
524945
- VERSION5 = typeof MACRO !== "undefined" ? "0.7.15" : "unknown";
524924
+ VERSION5 = typeof MACRO !== "undefined" ? "0.7.35" : "unknown";
524946
524925
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
524947
524926
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
524948
524927
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -526147,7 +526126,7 @@ var init_filesystem = __esm(() => {
526147
526126
  });
526148
526127
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
526149
526128
  const nonce = randomBytes19(16).toString("hex");
526150
- return join132(getClaudeTempDir(), "bundled-skills", "0.7.15", nonce);
526129
+ return join132(getClaudeTempDir(), "bundled-skills", "0.7.35", nonce);
526151
526130
  });
526152
526131
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
526153
526132
  });
@@ -532119,7 +532098,7 @@ function computeFingerprint(messageText, version7) {
532119
532098
  }
532120
532099
  function computeFingerprintFromMessages(messages) {
532121
532100
  const firstMessageText = extractFirstMessageText(messages);
532122
- return computeFingerprint(firstMessageText, "0.7.15");
532101
+ return computeFingerprint(firstMessageText, "0.7.35");
532123
532102
  }
532124
532103
  var FINGERPRINT_SALT = "59cf53e54c78";
532125
532104
  var init_fingerprint = () => {};
@@ -532615,7 +532594,20 @@ function stripExcessMediaItems(messages, limit) {
532615
532594
  }
532616
532595
  async function* ainativeBypass(messages, systemPrompt, model, toolSchemas, signal) {
532617
532596
  const baseUrl = getBaseURLForModel(model);
532618
- const apiKey = getApiKeyForModel(model);
532597
+ let authHeaders;
532598
+ let apiKey = null;
532599
+ try {
532600
+ apiKey = getApiKeyForModel(model);
532601
+ } catch {}
532602
+ if (apiKey) {
532603
+ authHeaders = { "x-api-key": apiKey };
532604
+ } else {
532605
+ const oauthToken = getClaudeAIOAuthTokens()?.accessToken;
532606
+ if (!oauthToken) {
532607
+ throw new Error("No API key or OAuth token found. Log in with `cody login`.");
532608
+ }
532609
+ authHeaders = { Authorization: `Bearer ${oauthToken}` };
532610
+ }
532619
532611
  const chatMessages = [];
532620
532612
  const sysText = systemPrompt.join(`
532621
532613
  `);
@@ -532708,7 +532700,7 @@ async function* ainativeBypass(messages, systemPrompt, model, toolSchemas, signa
532708
532700
  method: "POST",
532709
532701
  headers: {
532710
532702
  "Content-Type": "application/json",
532711
- "x-api-key": apiKey,
532703
+ ...authHeaders,
532712
532704
  "anthropic-version": "2023-06-01"
532713
532705
  },
532714
532706
  body: JSON.stringify(anthropicBody),
@@ -534168,7 +534160,7 @@ async function sideQuery(opts) {
534168
534160
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
534169
534161
  }
534170
534162
  const messageText = extractFirstUserMessageText(messages);
534171
- const fingerprint = computeFingerprint(messageText, "0.7.15");
534163
+ const fingerprint = computeFingerprint(messageText, "0.7.35");
534172
534164
  const attributionHeader = getAttributionHeader(fingerprint);
534173
534165
  const systemBlocks = [
534174
534166
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -538750,7 +538742,7 @@ function buildSystemInitMessage(inputs) {
538750
538742
  slash_commands: inputs.commands.filter((c6) => c6.userInvocable !== false).map((c6) => c6.name),
538751
538743
  apiKeySource: getAnthropicApiKeyWithSource().source,
538752
538744
  betas: getSdkBetas(),
538753
- claude_code_version: "0.7.15",
538745
+ claude_code_version: "0.7.35",
538754
538746
  output_style: outputStyle2,
538755
538747
  agents: inputs.agents.map((agent) => agent.agentType),
538756
538748
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -553302,7 +553294,7 @@ var init_useVoiceEnabled = __esm(() => {
553302
553294
  function getSemverPart(version7) {
553303
553295
  return `${import_semver13.major(version7, { loose: true })}.${import_semver13.minor(version7, { loose: true })}.${import_semver13.patch(version7, { loose: true })}`;
553304
553296
  }
553305
- function useUpdateNotification(updatedVersion, initialVersion = "0.7.15") {
553297
+ function useUpdateNotification(updatedVersion, initialVersion = "0.7.35") {
553306
553298
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
553307
553299
  if (!updatedVersion) {
553308
553300
  return null;
@@ -553342,7 +553334,7 @@ function AutoUpdater({
553342
553334
  return;
553343
553335
  }
553344
553336
  if (false) {}
553345
- const currentVersion = "0.7.15";
553337
+ const currentVersion = "0.7.35";
553346
553338
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
553347
553339
  let latestVersion = await getLatestVersion(channel);
553348
553340
  const isDisabled = isAutoUpdaterDisabled();
@@ -553555,12 +553547,12 @@ function NativeAutoUpdater({
553555
553547
  logEvent("tengu_native_auto_updater_start", {});
553556
553548
  try {
553557
553549
  const maxVersion = await getMaxVersion();
553558
- if (maxVersion && gt("0.7.15", maxVersion)) {
553550
+ if (maxVersion && gt("0.7.35", maxVersion)) {
553559
553551
  const msg = await getMaxVersionMessage();
553560
553552
  setMaxVersionIssue(msg ?? "affects your version");
553561
553553
  }
553562
553554
  const result = await installLatest(channel);
553563
- const currentVersion = "0.7.15";
553555
+ const currentVersion = "0.7.35";
553564
553556
  const latencyMs = Date.now() - startTime;
553565
553557
  if (result.lockFailed) {
553566
553558
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -553697,17 +553689,17 @@ function PackageManagerAutoUpdater(t0) {
553697
553689
  const maxVersion = await getMaxVersion();
553698
553690
  if (maxVersion && latest && gt(latest, maxVersion)) {
553699
553691
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
553700
- if (gte("0.7.15", maxVersion)) {
553701
- logForDebugging(`PackageManagerAutoUpdater: current version ${"0.7.15"} is already at or above maxVersion ${maxVersion}, skipping update`);
553692
+ if (gte("0.7.35", maxVersion)) {
553693
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"0.7.35"} is already at or above maxVersion ${maxVersion}, skipping update`);
553702
553694
  setUpdateAvailable(false);
553703
553695
  return;
553704
553696
  }
553705
553697
  latest = maxVersion;
553706
553698
  }
553707
- const hasUpdate = latest && !gte("0.7.15", latest) && !shouldSkipVersion(latest);
553699
+ const hasUpdate = latest && !gte("0.7.35", latest) && !shouldSkipVersion(latest);
553708
553700
  setUpdateAvailable(!!hasUpdate);
553709
553701
  if (hasUpdate) {
553710
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.7.15"} -> ${latest}`);
553702
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.7.35"} -> ${latest}`);
553711
553703
  }
553712
553704
  };
553713
553705
  $3[0] = t1;
@@ -553741,7 +553733,7 @@ function PackageManagerAutoUpdater(t0) {
553741
553733
  wrap: "truncate",
553742
553734
  children: [
553743
553735
  "currentVersion: ",
553744
- "0.7.15"
553736
+ "0.7.35"
553745
553737
  ]
553746
553738
  }, undefined, true, undefined, this);
553747
553739
  $3[3] = verbose;
@@ -561851,7 +561843,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
561851
561843
  project_dir: getOriginalCwd(),
561852
561844
  added_dirs: addedDirs
561853
561845
  },
561854
- version: "0.7.15",
561846
+ version: "0.7.35",
561855
561847
  output_style: {
561856
561848
  name: outputStyleName
561857
561849
  },
@@ -573239,7 +573231,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
573239
573231
  } catch {}
573240
573232
  const data = {
573241
573233
  trigger,
573242
- version: "0.7.15",
573234
+ version: "0.7.35",
573243
573235
  platform: process.platform,
573244
573236
  transcript,
573245
573237
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -577001,7 +576993,7 @@ function useMcpConnectivityStatus(t0) {
577001
576993
  }
577002
576994
  if (failedClaudeAiClients.length > 0) {
577003
576995
  addNotification({
577004
- key: "mcp-claudeai-failed",
576996
+ key: "mcp-ainative-failed",
577005
576997
  jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
577006
576998
  children: [
577007
576999
  /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
@@ -577051,7 +577043,7 @@ function useMcpConnectivityStatus(t0) {
577051
577043
  }
577052
577044
  if (needsAuthClaudeAiServers.length > 0) {
577053
577045
  addNotification({
577054
- key: "mcp-claudeai-needs-auth",
577046
+ key: "mcp-ainative-needs-auth",
577055
577047
  jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
577056
577048
  children: [
577057
577049
  /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
@@ -577087,23 +577079,23 @@ function useMcpConnectivityStatus(t0) {
577087
577079
  import_react301.useEffect(t2, t3);
577088
577080
  }
577089
577081
  function _temp442(client_2) {
577090
- return client_2.type === "needs-auth" && client_2.config.type === "claudeai-proxy" && hasClaudeAiMcpEverConnected(client_2.name);
577082
+ return client_2.type === "needs-auth" && client_2.config.type === "ainative-proxy" && hasAINativeMcpEverConnected(client_2.name);
577091
577083
  }
577092
577084
  function _temp355(client_1) {
577093
- return client_1.type === "needs-auth" && client_1.config.type !== "claudeai-proxy";
577085
+ return client_1.type === "needs-auth" && client_1.config.type !== "ainative-proxy";
577094
577086
  }
577095
577087
  function _temp287(client_0) {
577096
- return client_0.type === "failed" && client_0.config.type === "claudeai-proxy" && hasClaudeAiMcpEverConnected(client_0.name);
577088
+ return client_0.type === "failed" && client_0.config.type === "ainative-proxy" && hasAINativeMcpEverConnected(client_0.name);
577097
577089
  }
577098
577090
  function _temp208(client4) {
577099
- return client4.type === "failed" && client4.config.type !== "sse-ide" && client4.config.type !== "ws-ide" && client4.config.type !== "claudeai-proxy";
577091
+ return client4.type === "failed" && client4.config.type !== "sse-ide" && client4.config.type !== "ws-ide" && client4.config.type !== "ainative-proxy";
577100
577092
  }
577101
577093
  var import_compiler_runtime351, import_react301, jsx_dev_runtime452, EMPTY_MCP_CLIENTS;
577102
577094
  var init_useMcpConnectivityStatus = __esm(() => {
577103
577095
  init_notifications();
577104
577096
  init_state();
577105
577097
  init_ink2();
577106
- init_claudeai();
577098
+ init_ainative();
577107
577099
  import_compiler_runtime351 = __toESM(require_compiler_runtime(), 1);
577108
577100
  import_react301 = __toESM(require_react(), 1);
577109
577101
  jsx_dev_runtime452 = __toESM(require_jsx_dev_runtime(), 1);
@@ -585256,7 +585248,7 @@ function WelcomeV2() {
585256
585248
  dimColor: true,
585257
585249
  children: [
585258
585250
  "v",
585259
- "0.7.15",
585251
+ "0.7.35",
585260
585252
  " "
585261
585253
  ]
585262
585254
  }, undefined, true, undefined, this)
@@ -586557,7 +586549,7 @@ function completeOnboarding() {
586557
586549
  saveGlobalConfig((current) => ({
586558
586550
  ...current,
586559
586551
  hasCompletedOnboarding: true,
586560
- lastOnboardingVersion: "0.7.15"
586552
+ lastOnboardingVersion: "0.7.35"
586561
586553
  }));
586562
586554
  }
586563
586555
  function showDialog(root2, renderer) {
@@ -591035,7 +591027,7 @@ function appendToLog(path28, message) {
591035
591027
  cwd: getFsImplementation().cwd(),
591036
591028
  userType: "external",
591037
591029
  sessionId: getSessionId(),
591038
- version: "0.7.15"
591030
+ version: "0.7.35"
591039
591031
  };
591040
591032
  getLogWriter(path28).write(messageWithTimestamp);
591041
591033
  }
@@ -594994,8 +594986,8 @@ async function getEnvLessBridgeConfig() {
594994
594986
  }
594995
594987
  async function checkEnvLessBridgeMinVersion() {
594996
594988
  const cfg = await getEnvLessBridgeConfig();
594997
- if (cfg.min_version && lt("0.7.15", cfg.min_version)) {
594998
- return `Your version of Cody CLI (${"0.7.15"}) is too old for Remote Control.
594989
+ if (cfg.min_version && lt("0.7.35", cfg.min_version)) {
594990
+ return `Your version of Cody CLI (${"0.7.35"}) is too old for Remote Control.
594999
594991
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
595000
594992
  }
595001
594993
  return null;
@@ -595469,7 +595461,7 @@ async function initBridgeCore(params) {
595469
595461
  const rawApi = createBridgeApiClient({
595470
595462
  baseUrl,
595471
595463
  getAccessToken,
595472
- runnerVersion: "0.7.15",
595464
+ runnerVersion: "0.7.35",
595473
595465
  onDebug: logForDebugging,
595474
595466
  onAuth401,
595475
595467
  getTrustedDeviceToken
@@ -597931,9 +597923,9 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
597931
597923
  headers: connection.config.headers,
597932
597924
  oauth: connection.config.oauth
597933
597925
  };
597934
- } else if (connection.config.type === "claudeai-proxy") {
597926
+ } else if (connection.config.type === "ainative-proxy") {
597935
597927
  config4 = {
597936
- type: "claudeai-proxy",
597928
+ type: "ainative-proxy",
597937
597929
  url: connection.config.url,
597938
597930
  id: connection.config.id
597939
597931
  };
@@ -601106,7 +601098,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
601106
601098
  setCwd(cwd3);
601107
601099
  const server = new Server({
601108
601100
  name: "claude/tengu",
601109
- version: "0.7.15"
601101
+ version: "0.7.35"
601110
601102
  }, {
601111
601103
  capabilities: {
601112
601104
  tools: {}
@@ -601472,7 +601464,7 @@ async function mcpListHandler() {
601472
601464
  console.log(`${name3}: ${server.url} (SSE) - ${status2}`);
601473
601465
  } else if (server.type === "http") {
601474
601466
  console.log(`${name3}: ${server.url} (HTTP) - ${status2}`);
601475
- } else if (server.type === "claudeai-proxy") {
601467
+ } else if (server.type === "ainative-proxy") {
601476
601468
  console.log(`${name3}: ${server.url} - ${status2}`);
601477
601469
  } else if (!server.type || server.type === "stdio") {
601478
601470
  const args = Array.isArray(server.args) ? server.args : [];
@@ -602717,7 +602709,7 @@ __export(exports_update, {
602717
602709
  });
602718
602710
  async function update() {
602719
602711
  logEvent("tengu_update_check", {});
602720
- writeToStdout(`Current version: ${"0.7.15"}
602712
+ writeToStdout(`Current version: ${"0.7.35"}
602721
602713
  `);
602722
602714
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
602723
602715
  writeToStdout(`Checking for updates to ${channel} version...
@@ -602792,8 +602784,8 @@ async function update() {
602792
602784
  writeToStdout(`Cody CLI is managed by Homebrew.
602793
602785
  `);
602794
602786
  const latest = await getLatestVersion(channel);
602795
- if (latest && !gte("0.7.15", latest)) {
602796
- writeToStdout(`Update available: ${"0.7.15"} → ${latest}
602787
+ if (latest && !gte("0.7.35", latest)) {
602788
+ writeToStdout(`Update available: ${"0.7.35"} → ${latest}
602797
602789
  `);
602798
602790
  writeToStdout(`
602799
602791
  `);
@@ -602809,8 +602801,8 @@ async function update() {
602809
602801
  writeToStdout(`Cody CLI is managed by winget.
602810
602802
  `);
602811
602803
  const latest = await getLatestVersion(channel);
602812
- if (latest && !gte("0.7.15", latest)) {
602813
- writeToStdout(`Update available: ${"0.7.15"} → ${latest}
602804
+ if (latest && !gte("0.7.35", latest)) {
602805
+ writeToStdout(`Update available: ${"0.7.35"} → ${latest}
602814
602806
  `);
602815
602807
  writeToStdout(`
602816
602808
  `);
@@ -602826,8 +602818,8 @@ async function update() {
602826
602818
  writeToStdout(`Cody CLI is managed by apk.
602827
602819
  `);
602828
602820
  const latest = await getLatestVersion(channel);
602829
- if (latest && !gte("0.7.15", latest)) {
602830
- writeToStdout(`Update available: ${"0.7.15"} → ${latest}
602821
+ if (latest && !gte("0.7.35", latest)) {
602822
+ writeToStdout(`Update available: ${"0.7.35"} → ${latest}
602831
602823
  `);
602832
602824
  writeToStdout(`
602833
602825
  `);
@@ -602892,11 +602884,11 @@ async function update() {
602892
602884
  `);
602893
602885
  await gracefulShutdown(1);
602894
602886
  }
602895
- if (result.latestVersion === "0.7.15") {
602896
- writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.15"})`) + `
602887
+ if (result.latestVersion === "0.7.35") {
602888
+ writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.35"})`) + `
602897
602889
  `);
602898
602890
  } else {
602899
- writeToStdout(source_default.green(`Successfully updated from ${"0.7.15"} to version ${result.latestVersion}`) + `
602891
+ writeToStdout(source_default.green(`Successfully updated from ${"0.7.35"} to version ${result.latestVersion}`) + `
602900
602892
  `);
602901
602893
  await regenerateCompletionCache();
602902
602894
  }
@@ -602956,12 +602948,12 @@ async function update() {
602956
602948
  `);
602957
602949
  await gracefulShutdown(1);
602958
602950
  }
602959
- if (latestVersion === "0.7.15") {
602960
- writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.15"})`) + `
602951
+ if (latestVersion === "0.7.35") {
602952
+ writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.35"})`) + `
602961
602953
  `);
602962
602954
  await gracefulShutdown(0);
602963
602955
  }
602964
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.15"})
602956
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.35"})
602965
602957
  `);
602966
602958
  writeToStdout(`Installing update...
602967
602959
  `);
@@ -603006,7 +602998,7 @@ async function update() {
603006
602998
  logForDebugging(`update: Installation status: ${status2}`);
603007
602999
  switch (status2) {
603008
603000
  case "success":
603009
- writeToStdout(source_default.green(`Successfully updated from ${"0.7.15"} to version ${latestVersion}`) + `
603001
+ writeToStdout(source_default.green(`Successfully updated from ${"0.7.35"} to version ${latestVersion}`) + `
603010
603002
  `);
603011
603003
  await regenerateCompletionCache();
603012
603004
  break;
@@ -603852,7 +603844,7 @@ ${hint}` : hint;
603852
603844
  console.error(warning);
603853
603845
  });
603854
603846
  assertMinVersion();
603855
- const claudeaiConfigPromise = isNonInteractiveSession && !strictMcpConfig && !doesEnterpriseMcpConfigExist() && !isBareMode() && process.env.CODY_CLI !== "1" ? fetchClaudeAIMcpConfigsIfEligible().then((configs) => {
603847
+ const ainativeConfigPromise = isNonInteractiveSession && !strictMcpConfig && !doesEnterpriseMcpConfigExist() && !isBareMode() && process.env.CODY_CLI !== "1" ? fetchAINativeMcpConfigsIfEligible().then((configs) => {
603856
603848
  const {
603857
603849
  allowed,
603858
603850
  blocked
@@ -604194,19 +604186,19 @@ ${customInstructions}` : customInstructions;
604194
604186
  tools: [],
604195
604187
  commands: []
604196
604188
  }) : prefetchAllMcpResources(regularMcpConfigs);
604197
- const claudeaiMcpPromise = isNonInteractiveSession ? Promise.resolve({
604189
+ const ainativeMcpPromise = isNonInteractiveSession ? Promise.resolve({
604198
604190
  clients: [],
604199
604191
  tools: [],
604200
604192
  commands: []
604201
- }) : claudeaiConfigPromise.then((configs) => Object.keys(configs).length > 0 ? prefetchAllMcpResources(configs) : {
604193
+ }) : ainativeConfigPromise.then((configs) => Object.keys(configs).length > 0 ? prefetchAllMcpResources(configs) : {
604202
604194
  clients: [],
604203
604195
  tools: [],
604204
604196
  commands: []
604205
604197
  });
604206
- const mcpPromise = Promise.all([localMcpPromise, claudeaiMcpPromise]).then(([local, claudeai]) => ({
604207
- clients: [...local.clients, ...claudeai.clients],
604208
- tools: uniqBy_default([...local.tools, ...claudeai.tools], "name"),
604209
- commands: uniqBy_default([...local.commands, ...claudeai.commands], "name")
604198
+ const mcpPromise = Promise.all([localMcpPromise, ainativeMcpPromise]).then(([local, ainative]) => ({
604199
+ clients: [...local.clients, ...ainative.clients],
604200
+ tools: uniqBy_default([...local.tools, ...ainative.tools], "name"),
604201
+ commands: uniqBy_default([...local.commands, ...ainative.commands], "name")
604210
604202
  }));
604211
604203
  const hooksPromise = initOnly || init2 || maintenance || isNonInteractiveSession || options.continue || options.resume ? null : processSessionStartHooks("startup", {
604212
604204
  agentType: mainThreadAgentDefinition?.agentType,
@@ -604251,7 +604243,7 @@ ${customInstructions}` : customInstructions;
604251
604243
  }
604252
604244
  }
604253
604245
  logForDiagnosticsNoPII("info", "started", {
604254
- version: "0.7.15",
604246
+ version: "0.7.35",
604255
604247
  is_native_binary: isInBundledMode()
604256
604248
  });
604257
604249
  registerCleanup(async () => {
@@ -604398,21 +604390,21 @@ ${customInstructions}` : customInstructions;
604398
604390
  profileCheckpoint("before_connectMcp");
604399
604391
  await connectMcpBatch(regularMcpConfigs, "regular");
604400
604392
  profileCheckpoint("after_connectMcp");
604401
- const CLAUDE_AI_MCP_TIMEOUT_MS = 5000;
604402
- const claudeaiConnect = claudeaiConfigPromise.then((claudeaiConfigs) => {
604403
- if (Object.keys(claudeaiConfigs).length > 0) {
604404
- const claudeaiSigs = new Set;
604405
- for (const config4 of Object.values(claudeaiConfigs)) {
604393
+ const AINATIVE_MCP_TIMEOUT_MS = 5000;
604394
+ const ainativeConnect = ainativeConfigPromise.then((ainativeConfigs) => {
604395
+ if (Object.keys(ainativeConfigs).length > 0) {
604396
+ const ainativeSigs = new Set;
604397
+ for (const config4 of Object.values(ainativeConfigs)) {
604406
604398
  const sig = getMcpServerSignature(config4);
604407
604399
  if (sig)
604408
- claudeaiSigs.add(sig);
604400
+ ainativeSigs.add(sig);
604409
604401
  }
604410
604402
  const suppressed = new Set;
604411
604403
  for (const [name3, config4] of Object.entries(regularMcpConfigs)) {
604412
604404
  if (!name3.startsWith("plugin:"))
604413
604405
  continue;
604414
604406
  const sig = getMcpServerSignature(config4);
604415
- if (sig && claudeaiSigs.has(sig))
604407
+ if (sig && ainativeSigs.has(sig))
604416
604408
  suppressed.add(name3);
604417
604409
  }
604418
604410
  if (suppressed.size > 0) {
@@ -604451,20 +604443,20 @@ ${customInstructions}` : customInstructions;
604451
604443
  }
604452
604444
  const nonPluginConfigs = pickBy_default(regularMcpConfigs, (_2, n3) => !n3.startsWith("plugin:"));
604453
604445
  const {
604454
- servers: dedupedClaudeAi
604455
- } = dedupClaudeAiMcpServers(claudeaiConfigs, nonPluginConfigs);
604456
- return connectMcpBatch(dedupedClaudeAi, "claudeai");
604446
+ servers: dedupedAINative
604447
+ } = dedupAINativeMcpServers(ainativeConfigs, nonPluginConfigs);
604448
+ return connectMcpBatch(dedupedAINative, "ainative");
604457
604449
  });
604458
- let claudeaiTimer;
604459
- const claudeaiTimedOut = await Promise.race([claudeaiConnect.then(() => false), new Promise((resolve43) => {
604460
- claudeaiTimer = setTimeout((r) => r(true), CLAUDE_AI_MCP_TIMEOUT_MS, resolve43);
604450
+ let ainativeTimer;
604451
+ const ainativeTimedOut = await Promise.race([ainativeConnect.then(() => false), new Promise((resolve43) => {
604452
+ ainativeTimer = setTimeout((r) => r(true), AINATIVE_MCP_TIMEOUT_MS, resolve43);
604461
604453
  })]);
604462
- if (claudeaiTimer)
604463
- clearTimeout(claudeaiTimer);
604464
- if (claudeaiTimedOut) {
604465
- logForDebugging(`[MCP] claude.ai connectors not ready after ${CLAUDE_AI_MCP_TIMEOUT_MS}ms — proceeding; background connection continues`);
604454
+ if (ainativeTimer)
604455
+ clearTimeout(ainativeTimer);
604456
+ if (ainativeTimedOut) {
604457
+ logForDebugging(`[MCP] claude.ai connectors not ready after ${AINATIVE_MCP_TIMEOUT_MS}ms — proceeding; background connection continues`);
604466
604458
  }
604467
- profileCheckpoint("after_connectMcp_claudeai");
604459
+ profileCheckpoint("after_connectMcp_ainative");
604468
604460
  if (!isBareMode()) {
604469
604461
  startDeferredPrefetches();
604470
604462
  Promise.resolve().then(() => (init_backgroundHousekeeping(), exports_backgroundHousekeeping)).then((m2) => m2.startBackgroundHousekeeping());
@@ -604545,6 +604537,15 @@ ${customInstructions}` : customInstructions;
604545
604537
  priority: "high"
604546
604538
  });
604547
604539
  }
604540
+ const ripgrepWarning = getRipgrepMissingWarning();
604541
+ if (ripgrepWarning) {
604542
+ initialNotifications.push({
604543
+ key: "ripgrep-missing-warning",
604544
+ text: ripgrepWarning,
604545
+ color: "warning",
604546
+ priority: "high"
604547
+ });
604548
+ }
604548
604549
  const effectiveToolPermissionContext = {
604549
604550
  ...toolPermissionContext,
604550
604551
  mode: isAgentSwarmsEnabled() && getTeammateUtils().isPlanModeRequired() ? "plan" : toolPermissionContext.mode
@@ -605019,7 +605020,7 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
605019
605020
  } else {
605020
605021
  const pendingHookMessages = hooksPromise && hookMessages.length === 0 ? hooksPromise : undefined;
605021
605022
  profileCheckpoint("action_after_hooks");
605022
- console.log(getWelcomeMessage("0.7.15"));
605023
+ console.log(getWelcomeMessage("0.7.35"));
605023
605024
  maybeActivateProactive(options);
605024
605025
  maybeActivateBrief(options);
605025
605026
  if (false) {}
@@ -605036,10 +605037,10 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
605036
605037
  pendingHookMessages
605037
605038
  }, renderAndRun);
605038
605039
  }
605039
- }).version("0.7.15 (Cody CLI)", "-v, --version", "Output the version number");
605040
+ }).version("0.7.35 (Cody CLI)", "-v, --version", "Output the version number");
605040
605041
  program2.configureOutput({
605041
605042
  writeOut: (str2) => {
605042
- if (str2.includes("0.7.15")) {
605043
+ if (str2.includes("0.7.35")) {
605043
605044
  process.stdout.write(getCodyLogo() + `
605044
605045
  ` + str2);
605045
605046
  } else {
@@ -605138,7 +605139,7 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
605138
605139
  if (false) {}
605139
605140
  if (false) {}
605140
605141
  const auth2 = program2.command("auth").description("Manage authentication").configureHelp(createSortedHelpConfig());
605141
- auth2.command("login").description("Sign in to your AINative account").option("--email <email>", "Pre-populate email address on the login page").option("--sso", "Force SSO login flow").option("--console", "Use AINative Console (API usage billing)").option("--claudeai", "Use AINative subscription (default)").action(async ({
605142
+ auth2.command("login").description("Sign in to your AINative account").option("--email <email>", "Pre-populate email address on the login page").option("--sso", "Force SSO login flow").option("--console", "Use AINative Console (API usage billing)").option("--ainative", "Use AINative subscription (default)").action(async ({
605142
605143
  email: email3,
605143
605144
  sso,
605144
605145
  console: useConsole,
@@ -605489,7 +605490,7 @@ var init_main3 = __esm(() => {
605489
605490
  init_addCommand();
605490
605491
  init_xaaIdpCommand();
605491
605492
  init_internalLogging();
605492
- init_claudeai();
605493
+ init_ainative();
605493
605494
  init_client8();
605494
605495
  init_config3();
605495
605496
  init_utils5();
@@ -605596,7 +605597,7 @@ async function main2() {
605596
605597
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
605597
605598
  const { getCodyLogo: getCodyLogo2 } = await Promise.resolve().then(() => (init_branding(), exports_branding));
605598
605599
  console.log(getCodyLogo2() + `
605599
- 0.7.15 (Cody CLI)`);
605600
+ 0.7.35 (Cody CLI)`);
605600
605601
  return;
605601
605602
  }
605602
605603
  const {