Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gemini-cli for openSUSE:Factory 
checked in at 2026-03-17 19:05:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gemini-cli (Old)
 and      /work/SRC/openSUSE:Factory/.gemini-cli.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gemini-cli"

Tue Mar 17 19:05:14 2026 rev:15 rq:1339518 version:0.33.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gemini-cli/gemini-cli.changes    2026-03-12 
22:25:27.386078360 +0100
+++ /work/SRC/openSUSE:Factory/.gemini-cli.new.8177/gemini-cli.changes  
2026-03-17 19:07:16.207565732 +0100
@@ -1,0 +2,13 @@
+Tue Mar 17 08:47:00 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.33.2:
+  * fix(patch): cherry-pick 48130eb to release/v0.33.1-pr-22665
+    [CONFLICTS]
+
+-------------------------------------------------------------------
+Mon Mar 16 09:39:03 UTC 2026 - Michael Vetter <[email protected]>
+
+- Update to 0.33.1:
+  * fix(patch): cherry-pick 8432bce #22206
+
+-------------------------------------------------------------------

Old:
----
  gemini-cli-0.33.0.js

New:
----
  gemini-cli-0.33.2.js

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gemini-cli.spec ++++++
--- /var/tmp/diff_new_pack.TTjSbK/_old  2026-03-17 19:07:16.851592421 +0100
+++ /var/tmp/diff_new_pack.TTjSbK/_new  2026-03-17 19:07:16.855592587 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           gemini-cli
-Version:        0.33.0
+Version:        0.33.2
 Release:        0
 Summary:        An AI agent that brings the power of Gemini directly into your 
terminal
 License:        Apache-2.0

++++++ gemini-cli-0.33.0.js -> gemini-cli-0.33.2.js ++++++
--- /work/SRC/openSUSE:Factory/gemini-cli/gemini-cli-0.33.0.js  2026-03-12 
22:25:26.886057687 +0100
+++ /work/SRC/openSUSE:Factory/.gemini-cli.new.8177/gemini-cli-0.33.2.js        
2026-03-17 19:07:16.187564903 +0100
@@ -27902,7 +27902,7 @@
                     });
                     return value;
                   },
-                  useEffect: function useEffect93(create3) {
+                  useEffect: function useEffect94(create3) {
                     nextHook();
                     hookLog.push({
                       displayName: null,
@@ -104242,7 +104242,7 @@
         return safeJsonStringify(this.params);
       }
     };
-    DiscoveredMCPTool = class _DiscoveredMCPTool extends BaseDeclarativeTool {
+    DiscoveredMCPTool = class extends BaseDeclarativeTool {
       mcpTool;
       serverName;
       serverToolName;
@@ -104294,9 +104294,6 @@
       getFullyQualifiedName() {
         return 
generateValidName(`${this.serverName}${MCP_QUALIFIED_NAME_SEPARATOR}${this.serverToolName}`);
       }
-      asFullyQualifiedTool() {
-        return new _DiscoveredMCPTool(this.mcpTool, this.serverName, 
this.serverToolName, this.description, this.parameterSchema, this.messageBus, 
this.trust, this.isReadOnly, this.getFullyQualifiedName(), this.cliConfig, 
this.extensionName, this.extensionId, this._toolAnnotations);
-      }
       createInvocation(params, messageBus, _toolName, _displayName) {
         return new DiscoveredMCPToolInvocation(this.mcpTool, this.serverName, 
this.serverToolName, _displayName ?? this.displayName, messageBus, this.trust, 
params, this.cliConfig, this.description, this.parameterSchema, 
this._toolAnnotations);
       }
@@ -116485,7 +116482,7 @@
   }
 }
 function isPreviewModel(model) {
-  return model === PREVIEW_GEMINI_MODEL || model === PREVIEW_GEMINI_3_1_MODEL 
|| model === PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL || model === 
PREVIEW_GEMINI_FLASH_MODEL || model === PREVIEW_GEMINI_MODEL_AUTO || model === 
GEMINI_MODEL_ALIAS_AUTO;
+  return model === PREVIEW_GEMINI_MODEL || model === PREVIEW_GEMINI_3_1_MODEL 
|| model === PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL || model === 
PREVIEW_GEMINI_FLASH_MODEL || model === PREVIEW_GEMINI_MODEL_AUTO || model === 
GEMINI_MODEL_ALIAS_AUTO || model === PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL;
 }
 function isProModel(model) {
   return model.toLowerCase().includes("pro");
@@ -116529,7 +116526,7 @@
     return model !== PREVIEW_GEMINI_3_1_MODEL && model !== 
PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL;
   }
 }
-var PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_3_1_MODEL, 
PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, PREVIEW_GEMINI_FLASH_MODEL, 
DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, 
DEFAULT_GEMINI_FLASH_LITE_MODEL, VALID_GEMINI_MODELS, 
PREVIEW_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_MODEL_AUTO, GEMINI_MODEL_ALIAS_AUTO, 
GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, 
GEMINI_MODEL_ALIAS_FLASH_LITE, DEFAULT_GEMINI_EMBEDDING_MODEL, 
DEFAULT_THINKING_MODE;
+var PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_3_1_MODEL, 
PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, PREVIEW_GEMINI_FLASH_MODEL, 
PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL, DEFAULT_GEMINI_MODEL, 
DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, 
VALID_GEMINI_MODELS, PREVIEW_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_MODEL_AUTO, 
GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, 
GEMINI_MODEL_ALIAS_FLASH_LITE, DEFAULT_GEMINI_EMBEDDING_MODEL, 
DEFAULT_THINKING_MODE;
 var init_models = __esm({
   "packages/core/dist/src/config/models.js"() {
     "use strict";
@@ -116537,6 +116534,7 @@
     PREVIEW_GEMINI_3_1_MODEL = "gemini-3.1-pro-preview";
     PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL = 
"gemini-3.1-pro-preview-customtools";
     PREVIEW_GEMINI_FLASH_MODEL = "gemini-3-flash-preview";
+    PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL = "gemini-3.1-flash-lite-preview";
     DEFAULT_GEMINI_MODEL = "gemini-2.5-pro";
     DEFAULT_GEMINI_FLASH_MODEL = "gemini-2.5-flash";
     DEFAULT_GEMINI_FLASH_LITE_MODEL = "gemini-2.5-flash-lite";
@@ -116545,6 +116543,7 @@
       PREVIEW_GEMINI_3_1_MODEL,
       PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL,
       PREVIEW_GEMINI_FLASH_MODEL,
+      PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
       DEFAULT_GEMINI_MODEL,
       DEFAULT_GEMINI_FLASH_MODEL,
       DEFAULT_GEMINI_FLASH_LITE_MODEL
@@ -194825,18 +194824,28 @@
   if (options.allowWildcards && name3 === "*") {
     return true;
   }
-  if (name3.includes("__")) {
-    const parts2 = name3.split("__");
-    if (parts2.length !== 2 || parts2[0].length === 0 || parts2[1].length === 
0) {
+  if (isMcpToolName(name3)) {
+    if (name3 === `${MCP_TOOL_PREFIX}*` && options.allowWildcards) {
+      return true;
+    }
+    if (name3.startsWith(`${MCP_TOOL_PREFIX}_`)) {
       return false;
     }
-    const server = parts2[0];
-    const tool = parts2[1];
-    if (tool === "*") {
-      return !!options.allowWildcards;
+    const parsed = parseMcpToolName(name3);
+    if (parsed.serverName && parsed.toolName) {
+      const slugRegex = /^[a-z0-9_.:-]+$/i;
+      if (!slugRegex.test(parsed.serverName)) {
+        return false;
+      }
+      if (parsed.toolName === "*") {
+        return options.allowWildcards === true;
+      }
+      if (/^_*$/.test(parsed.toolName)) {
+        return false;
+      }
+      return slugRegex.test(parsed.toolName);
     }
-    const slugRegex = /^[a-z0-9_.:-]+$/i;
-    return slugRegex.test(server) && slugRegex.test(tool);
+    return false;
   }
   return false;
 }
@@ -194845,6 +194854,7 @@
   "packages/core/dist/src/tools/tool-names.js"() {
     "use strict";
     init_coreTools();
+    init_mcp_tool();
     LS_TOOL_NAME_LEGACY = "list_directory";
     EDIT_TOOL_NAMES = /* @__PURE__ */ new Set([EDIT_TOOL_NAME, 
WRITE_FILE_TOOL_NAME]);
     WRITE_FILE_DISPLAY_NAME = "WriteFile";
@@ -194884,8 +194894,8 @@
 var init_git_commit = __esm({
   "packages/core/dist/src/generated/git-commit.js"() {
     "use strict";
-    GIT_COMMIT_INFO = "6ee19e1f6";
-    CLI_VERSION = "0.33.0";
+    GIT_COMMIT_INFO = "cc5a0dc3c";
+    CLI_VERSION = "0.33.2";
   }
 });
 
@@ -280870,7 +280880,7 @@
   }
   versionPromise = (async () => {
     const pkgJson = await getPackageJson(__dirname3);
-    return "0.33.0";
+    return "0.33.2";
   })();
   return versionPromise;
 }
@@ -282925,11 +282935,7 @@
        */
       registerTool(tool) {
         if (this.allKnownTools.has(tool.name)) {
-          if (tool instanceof DiscoveredMCPTool) {
-            tool = tool.asFullyQualifiedTool();
-          } else {
-            debugLogger.warn(`Tool with name "${tool.name}" is already 
registered. Overwriting.`);
-          }
+          debugLogger.warn(`Tool with name "${tool.name}" is already 
registered. Overwriting.`);
         }
         this.allKnownTools.set(tool.name, tool);
       }
@@ -283203,7 +283209,14 @@
         for (const name3 of toolNames) {
           const tool = this.getTool(name3);
           if (tool) {
-            declarations.push(tool.getSchema(modelId));
+            let schema2 = tool.getSchema(modelId);
+            if (tool instanceof DiscoveredMCPTool) {
+              schema2 = {
+                ...schema2,
+                name: tool.getFullyQualifiedName()
+              };
+            }
+            declarations.push(schema2);
           }
         }
         return declarations;
@@ -283263,16 +283276,6 @@
             debugLogger.debug(`Resolved legacy tool name "${name3}" to current 
name "${currentName}"`);
           }
         }
-        if (!tool && name3.includes("__")) {
-          for (const t3 of this.allKnownTools.values()) {
-            if (t3 instanceof DiscoveredMCPTool) {
-              if (t3.getFullyQualifiedName() === name3) {
-                tool = t3;
-                break;
-              }
-            }
-          }
-        }
         if (tool && this.isActiveTool(tool)) {
           return tool;
         }
@@ -406134,7 +406137,7 @@
       name: nameSchema,
       description: external_exports.string().min(1),
       display_name: external_exports.string().optional(),
-      tools: external_exports.array(external_exports.string().refine((val) => 
isValidToolName(val), {
+      tools: external_exports.array(external_exports.string().refine((val) => 
isValidToolName(val, { allowWildcards: true }), {
         message: "Invalid tool name"
       })).optional(),
       model: external_exports.string().optional(),
@@ -412130,6 +412133,7 @@
     init_geminiChat();
     init_node();
     init_tool_registry();
+    init_tools();
     init_mcp_tool();
     init_turn();
     init_types3();
@@ -412177,18 +412181,40 @@
         const agentToolRegistry = new ToolRegistry(runtimeContext, 
runtimeContext.getMessageBus());
         const parentToolRegistry = runtimeContext.getToolRegistry();
         const allAgentNames = new 
Set(runtimeContext.getAgentRegistry().getAllAgentNames());
+        const registerToolInstance = (tool) => {
+          if (allAgentNames.has(tool.name)) {
+            debugLogger.warn(`[LocalAgentExecutor] Skipping subagent tool 
'${tool.name}' for agent '${definition.name}' to prevent recursion.`);
+            return;
+          }
+          agentToolRegistry.registerTool(tool);
+        };
         const registerToolByName = (toolName) => {
-          if (allAgentNames.has(toolName)) {
-            debugLogger.warn(`[LocalAgentExecutor] Skipping subagent tool 
'${toolName}' for agent '${definition.name}' to prevent recursion.`);
+          if (toolName === "*") {
+            for (const tool2 of parentToolRegistry.getAllTools()) {
+              registerToolInstance(tool2);
+            }
             return;
           }
+          if (isMcpToolName(toolName)) {
+            if (toolName === `${MCP_TOOL_PREFIX}*`) {
+              for (const tool2 of parentToolRegistry.getAllTools()) {
+                if (tool2 instanceof DiscoveredMCPTool) {
+                  registerToolInstance(tool2);
+                }
+              }
+              return;
+            }
+            const parsed = parseMcpToolName(toolName);
+            if (parsed.serverName && parsed.toolName === "*") {
+              for (const tool2 of 
parentToolRegistry.getToolsByServer(parsed.serverName)) {
+                registerToolInstance(tool2);
+              }
+              return;
+            }
+          }
           const tool = parentToolRegistry.getTool(toolName);
           if (tool) {
-            if (tool instanceof DiscoveredMCPTool) {
-              agentToolRegistry.registerTool(tool.asFullyQualifiedTool());
-            } else {
-              agentToolRegistry.registerTool(tool);
-            }
+            registerToolInstance(tool);
           }
         };
         if (definition.toolConfig) {
@@ -412843,17 +412869,12 @@
         const toolsList = [];
         const { toolConfig, outputConfig } = this.definition;
         if (toolConfig) {
-          const toolNamesToLoad = [];
           for (const toolRef of toolConfig.tools) {
-            if (typeof toolRef === "string") {
-              toolNamesToLoad.push(toolRef);
-            } else if (typeof toolRef === "object" && "schema" in toolRef) {
-              toolsList.push(toolRef.schema);
-            } else {
+            if (typeof toolRef === "object" && !("schema" in toolRef)) {
               toolsList.push(toolRef);
             }
           }
-          
toolsList.push(...this.toolRegistry.getFunctionDeclarationsFiltered(toolNamesToLoad));
+          toolsList.push(...this.toolRegistry.getFunctionDeclarations());
         }
         const completeTool = {
           name: TASK_COMPLETE_TOOL_NAME,
@@ -414654,7 +414675,8 @@
       MASKING_PROTECTION_THRESHOLD: 45758817,
       MASKING_PRUNABLE_THRESHOLD: 45758818,
       MASKING_PROTECT_LATEST_TURN: 45758819,
-      GEMINI_3_1_PRO_LAUNCHED: 45760185
+      GEMINI_3_1_PRO_LAUNCHED: 45760185,
+      PRO_MODEL_NO_ACCESS: 45768879
     };
   }
 });
@@ -422981,6 +423003,9 @@
           coreEvents.emitAdminSettingsChanged();
         });
         this.setRemoteAdminSettings(adminControls);
+        if (await this.getProModelNoAccess() && isAutoModel(this.model)) {
+          this.setModel(PREVIEW_GEMINI_FLASH_MODEL);
+        }
       }
       async getExperimentsAsync() {
         if (this.experiments) {
@@ -423824,6 +423849,25 @@
         return 
this.experiments?.flags[ExperimentFlags.BANNER_TEXT_CAPACITY_ISSUES]?.stringValue
 ?? "";
       }
       /**
+       * Returns whether the user has access to Pro models.
+       * This is determined by the PRO_MODEL_NO_ACCESS experiment flag.
+       */
+      async getProModelNoAccess() {
+        await this.ensureExperimentsLoaded();
+        return this.getProModelNoAccessSync();
+      }
+      /**
+       * Returns whether the user has access to Pro models synchronously.
+       *
+       * Note: This method should only be called after startup, once 
experiments have been loaded.
+       */
+      getProModelNoAccessSync() {
+        if (this.contentGeneratorConfig?.authType !== 
AuthType2.LOGIN_WITH_GOOGLE) {
+          return false;
+        }
+        return 
this.experiments?.flags[ExperimentFlags.PRO_MODEL_NO_ACCESS]?.boolValue ?? 
false;
+      }
+      /**
        * Returns whether Gemini 3.1 has been launched.
        * This method is async and ensures that experiments are loaded before 
returning the result.
        */
@@ -430624,6 +430668,7 @@
   PARAM_RESPECT_GIT_IGNORE: () => PARAM_RESPECT_GIT_IGNORE,
   PLAN_MODE_PARAM_REASON: () => PLAN_MODE_PARAM_REASON,
   PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL: () => 
PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL,
+  PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL: () => 
PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
   PREVIEW_GEMINI_3_1_MODEL: () => PREVIEW_GEMINI_3_1_MODEL,
   PREVIEW_GEMINI_FLASH_MODEL: () => PREVIEW_GEMINI_FLASH_MODEL,
   PREVIEW_GEMINI_MODEL: () => PREVIEW_GEMINI_MODEL,
@@ -510217,7 +510262,7 @@
 };
 
 // packages/cli/src/generated/git-commit.ts
-var GIT_COMMIT_INFO2 = "832e97cb7";
+var GIT_COMMIT_INFO2 = "2162da30c";
 
 // packages/cli/src/ui/components/AboutBox.tsx
 init_dist7();
@@ -523822,8 +523867,24 @@
 function ModelDialog({ onClose }) {
   const config2 = (0, import_react102.useContext)(ConfigContext);
   const settings = useSettings();
-  const [view, setView] = (0, import_react102.useState)("main");
+  const [hasAccessToProModel, setHasAccessToProModel] = (0, 
import_react102.useState)(
+    () => !(config2?.getProModelNoAccessSync() ?? false)
+  );
+  const [view, setView] = (0, import_react102.useState)(
+    () => config2?.getProModelNoAccessSync() ? "manual" : "main"
+  );
   const [persistMode, setPersistMode] = (0, import_react102.useState)(false);
+  (0, import_react102.useEffect)(() => {
+    async function checkAccess() {
+      if (!config2) return;
+      const noAccess = await config2.getProModelNoAccess();
+      setHasAccessToProModel(!noAccess);
+      if (noAccess) {
+        setView("manual");
+      }
+    }
+    void checkAccess();
+  }, [config2]);
   const preferredModel = config2?.getModel() || DEFAULT_GEMINI_MODEL_AUTO;
   const shouldShowPreviewModels = config2?.getHasAccessToPreviewModel();
   const useGemini31 = config2?.getGemini31LaunchedSync?.() ?? false;
@@ -523847,7 +523908,7 @@
   useKeypress(
     (key) => {
       if (key.name === "escape") {
-        if (view === "manual") {
+        if (view === "manual" && hasAccessToProModel) {
           setView("main");
         } else {
           onClose();
@@ -523888,6 +523949,7 @@
     return list;
   }, [shouldShowPreviewModels, manualModelSelected, useGemini31]);
   const manualOptions = (0, import_react102.useMemo)(() => {
+    const isFreeTier = config2?.getUserTier() === UserTierId.FREE;
     const list = [
       {
         value: DEFAULT_GEMINI_MODEL,
@@ -523908,7 +523970,7 @@
     if (shouldShowPreviewModels) {
       const previewProModel = useGemini31 ? PREVIEW_GEMINI_3_1_MODEL : 
PREVIEW_GEMINI_MODEL;
       const previewProValue = useCustomToolModel ? 
PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL : previewProModel;
-      list.unshift(
+      const previewOptions = [
         {
           value: previewProValue,
           title: getDisplayString(previewProModel),
@@ -523919,10 +523981,27 @@
           title: getDisplayString(PREVIEW_GEMINI_FLASH_MODEL),
           key: PREVIEW_GEMINI_FLASH_MODEL
         }
-      );
+      ];
+      if (isFreeTier) {
+        previewOptions.push({
+          value: PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
+          title: getDisplayString(PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL),
+          key: PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL
+        });
+      }
+      list.unshift(...previewOptions);
+    }
+    if (!hasAccessToProModel) {
+      return list.filter((option2) => !isProModel(option2.value));
     }
     return list;
-  }, [shouldShowPreviewModels, useGemini31, useCustomToolModel]);
+  }, [
+    shouldShowPreviewModels,
+    useGemini31,
+    useCustomToolModel,
+    hasAccessToProModel,
+    config2
+  ]);
   const options = view === "main" ? mainOptions : manualOptions;
   const initialIndex = (0, import_react102.useMemo)(() => {
     const idx = options.findIndex((option2) => option2.value === 
preferredModel);
@@ -556731,7 +556810,7 @@
   const sandboxOption = argv.sandbox ?? settings.tools?.sandbox;
   const command2 = getSandboxCommand(sandboxOption);
   const packageJson2 = await getPackageJson(__dirname13);
-  const image3 = process.env["GEMINI_SANDBOX_IMAGE"] ?? 
"us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.33.0" ?? 
packageJson2?.config?.sandboxImageUri;
+  const image3 = process.env["GEMINI_SANDBOX_IMAGE"] ?? 
"us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.33.2" ?? 
packageJson2?.config?.sandboxImageUri;
   return command2 && image3 ? { command: command2, image: image3 } : void 0;
 }
 

Reply via email to