ag-common 0.0.904 → 0.0.905

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  export type ModelPreference = "quality" | "fast" | undefined;
2
+ export declare const isTextGenerationModel: (name: string) => boolean;
2
3
  export declare const geminiPromptImage: ({ prompt, urls, ident, prefer, }: {
3
4
  prompt: string;
4
5
  urls?: string[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveGroundedUrl = exports.geminiPromptDirect = exports.geminiPromptImage = void 0;
3
+ exports.resolveGroundedUrl = exports.geminiPromptDirect = exports.geminiPromptImage = exports.isTextGenerationModel = void 0;
4
4
  const genai_1 = require("@google/genai");
5
5
  const array_1 = require("../../../common/helpers/array");
6
6
  const async_1 = require("../../../common/helpers/async");
@@ -50,6 +50,21 @@ const sortModelsByPreference = (models, prefer) => {
50
50
  return modelArray;
51
51
  };
52
52
  const normalizeModelName = (name) => name.replace(/^models\//, "");
53
+ const NON_TEXT_MODEL_CAPABILITIES = [
54
+ "audio",
55
+ "computer-use",
56
+ "embedding",
57
+ "image",
58
+ "live",
59
+ "robotics",
60
+ "tts",
61
+ ];
62
+ const isTextGenerationModel = (name) => {
63
+ const normalizedName = name.toLowerCase();
64
+ return (normalizedName.startsWith("gemini") &&
65
+ !NON_TEXT_MODEL_CAPABILITIES.some((capability) => normalizedName.includes(capability)));
66
+ };
67
+ exports.isTextGenerationModel = isTextGenerationModel;
53
68
  const getAvailableGeminiModels = async () => {
54
69
  const cachedModels = geminiModelsCache.get(geminiModelsCacheKey);
55
70
  if (cachedModels && cachedModels.length > 0) {
@@ -71,7 +86,7 @@ const getAvailableGeminiModels = async () => {
71
86
  ...new Set((payload.models ?? [])
72
87
  .filter((m) => (m.supportedGenerationMethods ?? []).includes("generateContent"))
73
88
  .map((m) => normalizeModelName(m.name ?? ""))
74
- .filter((name) => name.startsWith("gemini") && !name.includes("embedding"))),
89
+ .filter(exports.isTextGenerationModel)),
75
90
  ];
76
91
  if (discoveredModels.length === 0) {
77
92
  throw new Error("no gemini generateContent models discovered");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ag-common",
3
- "version": "0.0.904",
3
+ "version": "0.0.905",
4
4
  "license": "ISC",
5
5
  "author": "admin@gec.dev",
6
6
  "repository": {