@memberjunction/ai-gemini 5.40.2 → 5.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -109,8 +109,38 @@ export declare class GeminiLLM extends BaseLLM {
109
109
  protected finalizeStreamingResponse(accumulatedContent: string | null | undefined, lastChunk: any | null | undefined, usage: any | null | undefined): ChatResult;
110
110
  SummarizeText(params: SummarizeParams): Promise<SummarizeResult>;
111
111
  ClassifyText(params: any): Promise<any>;
112
+ /**
113
+ * The default mimeType to assume for a media content block when neither an explicit
114
+ * `mimeType` nor a data-URL-embedded mime is available. Keyed by MJ content-block type.
115
+ */
116
+ private static geminiDefaultMimeForBlockType;
117
+ /**
118
+ * Convert a single MJ content block into the matching Gemini {@link Part}. This is the one
119
+ * type-aware mapping site so that text-only behavior stays byte-identical and every media
120
+ * block (image/audio/video/file) becomes a real Gemini media part instead of a text blob of
121
+ * its data URL.
122
+ *
123
+ * - `text` → `{ text }` (unchanged).
124
+ * - any media block whose `content` is a `data:<mime>;base64,<b64>` data URL →
125
+ * `{ inlineData: { mimeType, data } }` carrying the raw base64 (prefix stripped).
126
+ * - any media block whose `content` is an http(s) URL → `{ fileData: { mimeType, fileUri } }`,
127
+ * Gemini's remote-file part (mirrors how geminiImage.ts reads fileData.fileUri).
128
+ * - a media block whose `content` is bare base64 (no data-URL prefix, but valid base64) →
129
+ * `{ inlineData }`, preserving the prior behavior.
130
+ * - anything else (e.g. placeholder strings tagged onto a file_url block) → `{ text }` fallback.
131
+ */
132
+ private static mjContentBlockToGeminiPart;
112
133
  static MapMJContentToGeminiParts(content: ChatMessageContent): Array<Part>;
113
134
  static MapMJMessageToGeminiHistoryEntry(message: ChatMessage): Content;
135
+ /**
136
+ * Flatten an MJ message's content to a plain-text string for the Gemini systemInstruction.
137
+ * Images and other media MUST NOT ride in the system instruction — emitting a giant base64
138
+ * data URL there would both blow the cacheable prefix and fail to be interpreted as an image.
139
+ * So we keep only `text` blocks here; a pure-string content stays as-is.
140
+ */
141
+ private static mjContentToSystemInstructionText;
114
142
  }
115
143
  export * from './geminiImage.js';
144
+ export * from './geminiRealtime.js';
145
+ export * from './geminiEmbedding2.js';
116
146
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAA0B,kBAAkB,EAA6B,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAuB7M,qBACa,SAAU,SAAQ,OAAO;IAClC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC7C,OAAO,CAAC,cAAc,CAAqC;IAG3D,OAAO,CAAC,eAAe,CAUrB;IAIF,OAAO,CAAC,iBAAiB,CAAuC;gBAEpD,MAAM,EAAE,MAAM;IAM1B;;;;;OAKG;cACa,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAIpD;;;OAGG;YACW,kBAAkB;IAahC;;OAEG;IACa,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAe9D;;;OAGG;IACH,IAAW,YAAY,IAAI,WAAW,CAKrC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,IAAoB,iBAAiB,IAAI,OAAO,CAE/C;IAED,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAgC9D;;OAEG;cACa,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAyPnF,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC;;OAEG;cACa,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAmHxE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG;QACzC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf;IA4DD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAQlB;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IA2EzC;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAC9B,UAAU;IAkFb,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAGhE,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;WAIzB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;WAgDnE,gCAAgC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;CAMhF;AAID,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAkB,MAAM,eAAe,CAAC;AAG3E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAA0B,kBAAkB,EAAsD,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAuBtO,qBACa,SAAU,SAAQ,OAAO;IAClC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC7C,OAAO,CAAC,cAAc,CAAqC;IAG3D,OAAO,CAAC,eAAe,CAUrB;IAIF,OAAO,CAAC,iBAAiB,CAAuC;gBAEpD,MAAM,EAAE,MAAM;IAM1B;;;;;OAKG;cACa,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAIpD;;;OAGG;YACW,kBAAkB;IAahC;;OAEG;IACa,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAe9D;;;OAGG;IACH,IAAW,YAAY,IAAI,WAAW,CAKrC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,IAAoB,iBAAiB,IAAI,OAAO,CAE/C;IAED,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAgC9D;;OAEG;cACa,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAyPnF,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC;;OAEG;cACa,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAmHxE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG;QACzC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf;IA4DD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAQlB;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IA2EzC;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAC9B,UAAU;IAkFb,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAGhE,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAS5C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;WAwC3B,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;WAQnE,gCAAgC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAO7E;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;CASlD;AAID,cAAc,eAAe,CAAC;AAG9B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -192,7 +192,7 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
192
192
  const noSystemMessages = params.messages.filter(m => m.role !== 'system');
193
193
  const sysPrompts = params.messages.filter(m => m.role === 'system');
194
194
  const systemInstructionText = sysPrompts.length > 0
195
- ? sysPrompts.map(m => typeof m.content === 'string' ? m.content : m.content.map(v => v.content).join('\n')).join('\n\n')
195
+ ? sysPrompts.map(m => GeminiLLM_1.mjContentToSystemInstructionText(m.content)).join('\n\n')
196
196
  : '';
197
197
  // Convert all non-system messages and apply role alternation
198
198
  const convertedMessages = noSystemMessages.map(m => GeminiLLM_1.MapMJMessageToGeminiHistoryEntry(m));
@@ -465,7 +465,7 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
465
465
  const noSystemMessages = params.messages.filter(m => m.role !== 'system');
466
466
  const sysPrompts = params.messages.filter(m => m.role === 'system');
467
467
  const systemInstructionText = sysPrompts.length > 0
468
- ? sysPrompts.map(m => typeof m.content === 'string' ? m.content : m.content.map(v => v.content).join('\n')).join('\n\n')
468
+ ? sysPrompts.map(m => GeminiLLM_1.mjContentToSystemInstructionText(m.content)).join('\n\n')
469
469
  : '';
470
470
  // Convert all non-system messages and apply role alternation
471
471
  const convertedMessages = noSystemMessages.map(m => GeminiLLM_1.MapMJMessageToGeminiHistoryEntry(m));
@@ -823,48 +823,74 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
823
823
  ClassifyText(params) {
824
824
  throw new Error("Method not implemented.");
825
825
  }
826
+ /**
827
+ * The default mimeType to assume for a media content block when neither an explicit
828
+ * `mimeType` nor a data-URL-embedded mime is available. Keyed by MJ content-block type.
829
+ */
830
+ static geminiDefaultMimeForBlockType(type) {
831
+ switch (type) {
832
+ case 'image_url': return 'image/png';
833
+ case 'audio_url': return 'audio/mpeg';
834
+ case 'video_url': return 'video/mp4';
835
+ default: return 'application/octet-stream';
836
+ }
837
+ }
838
+ /**
839
+ * Convert a single MJ content block into the matching Gemini {@link Part}. This is the one
840
+ * type-aware mapping site so that text-only behavior stays byte-identical and every media
841
+ * block (image/audio/video/file) becomes a real Gemini media part instead of a text blob of
842
+ * its data URL.
843
+ *
844
+ * - `text` → `{ text }` (unchanged).
845
+ * - any media block whose `content` is a `data:<mime>;base64,<b64>` data URL →
846
+ * `{ inlineData: { mimeType, data } }` carrying the raw base64 (prefix stripped).
847
+ * - any media block whose `content` is an http(s) URL → `{ fileData: { mimeType, fileUri } }`,
848
+ * Gemini's remote-file part (mirrors how geminiImage.ts reads fileData.fileUri).
849
+ * - a media block whose `content` is bare base64 (no data-URL prefix, but valid base64) →
850
+ * `{ inlineData }`, preserving the prior behavior.
851
+ * - anything else (e.g. placeholder strings tagged onto a file_url block) → `{ text }` fallback.
852
+ */
853
+ static mjContentBlockToGeminiPart(block) {
854
+ if (block.type === 'text') {
855
+ return { text: block.content };
856
+ }
857
+ // Remote http(s) URL → Gemini fileData part (no inlining of remote bytes).
858
+ if (/^https?:\/\//i.test(block.content)) {
859
+ const fileData = {
860
+ fileUri: block.content,
861
+ mimeType: block.mimeType || GeminiLLM_1.geminiDefaultMimeForBlockType(block.type),
862
+ };
863
+ return { fileData };
864
+ }
865
+ // Strip data-URL prefix if present — Gemini expects raw base64.
866
+ let rawBase64 = block.content;
867
+ let detectedMime;
868
+ const dataUrlMatch = rawBase64.match(/^data:([^;]+);base64,(.+)$/s);
869
+ if (dataUrlMatch) {
870
+ detectedMime = dataUrlMatch[1];
871
+ rawBase64 = dataUrlMatch[2];
872
+ }
873
+ // Guard: if content isn't a data URL and isn't valid base64, fall back to a text part.
874
+ // This handles placeholder strings (e.g. "[File: ... — accessible via artifact tools]")
875
+ // that were tagged as file_url content blocks.
876
+ if (!dataUrlMatch && !/^[A-Za-z0-9+/\r\n]+=*$/.test(rawBase64.substring(0, 100))) {
877
+ return { text: block.content };
878
+ }
879
+ // Use the inlineData property which expects a Blob with data and mimeType.
880
+ // Prefer the explicit mimeType from the content block; fall back to the data-URL
881
+ // detected mime, then type-based defaults.
882
+ const blob = {
883
+ data: rawBase64,
884
+ mimeType: block.mimeType || detectedMime || GeminiLLM_1.geminiDefaultMimeForBlockType(block.type),
885
+ };
886
+ return { inlineData: blob };
887
+ }
826
888
  static MapMJContentToGeminiParts(content) {
827
- const parts = [];
828
889
  if (Array.isArray(content)) {
829
- for (const part of content) {
830
- if (part.type === 'text') {
831
- parts.push({ text: part.content });
832
- }
833
- else {
834
- // Strip data-URL prefix if present — Gemini expects raw base64
835
- let rawBase64 = part.content;
836
- let detectedMime;
837
- const dataUrlMatch = rawBase64.match(/^data:([^;]+);base64,(.+)$/s);
838
- if (dataUrlMatch) {
839
- detectedMime = dataUrlMatch[1];
840
- rawBase64 = dataUrlMatch[2];
841
- }
842
- // Guard: if content isn't valid base64, fall back to a text part.
843
- // This handles placeholder strings (e.g. "[File: ... — accessible via artifact tools]")
844
- // that were tagged as file_url content blocks.
845
- if (!dataUrlMatch && !/^[A-Za-z0-9+/\r\n]+=*$/.test(rawBase64.substring(0, 100))) {
846
- parts.push({ text: part.content });
847
- continue;
848
- }
849
- // Use the inlineData property which expects a Blob with data and mimeType.
850
- // Prefer the explicit mimeType from the content block; fall back to
851
- // data-URL detected mime, then type-based defaults.
852
- const blob = {
853
- data: rawBase64,
854
- mimeType: part.mimeType || detectedMime || (part.type === 'image_url' ? 'image/jpeg' :
855
- part.type === 'audio_url' ? 'audio/mpeg' :
856
- part.type === 'video_url' ? 'video/mp4' :
857
- 'application/octet-stream'),
858
- };
859
- parts.push({ inlineData: blob });
860
- }
861
- }
890
+ return content.map(block => GeminiLLM_1.mjContentBlockToGeminiPart(block));
862
891
  }
863
- else {
864
- // we know that message.content is a string
865
- parts.push({ text: content });
866
- }
867
- return parts;
892
+ // we know that message.content is a string
893
+ return [{ text: content }];
868
894
  }
869
895
  static MapMJMessageToGeminiHistoryEntry(message) {
870
896
  return {
@@ -872,6 +898,21 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
872
898
  parts: GeminiLLM_1.MapMJContentToGeminiParts(message.content)
873
899
  };
874
900
  }
901
+ /**
902
+ * Flatten an MJ message's content to a plain-text string for the Gemini systemInstruction.
903
+ * Images and other media MUST NOT ride in the system instruction — emitting a giant base64
904
+ * data URL there would both blow the cacheable prefix and fail to be interpreted as an image.
905
+ * So we keep only `text` blocks here; a pure-string content stays as-is.
906
+ */
907
+ static mjContentToSystemInstructionText(content) {
908
+ if (typeof content === 'string') {
909
+ return content;
910
+ }
911
+ return content
912
+ .filter(block => block.type === 'text')
913
+ .map(block => block.content)
914
+ .join('\n');
915
+ }
875
916
  };
876
917
  GeminiLLM = GeminiLLM_1 = __decorate([
877
918
  RegisterClass(BaseLLM, "GeminiLLM"),
@@ -880,4 +921,8 @@ GeminiLLM = GeminiLLM_1 = __decorate([
880
921
  export { GeminiLLM };
881
922
  // Export image generation
882
923
  export * from './geminiImage.js';
924
+ // Export realtime (Gemini Live) driver
925
+ export * from './geminiRealtime.js';
926
+ // Export multimodal embeddings
927
+ export * from './geminiEmbedding2.js';
883
928
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/ai-gemini",
3
3
  "type": "module",
4
- "version": "5.40.2",
4
+ "version": "5.41.0",
5
5
  "description": "MemberJunction Wrapper for Google Gemini AI Models",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -20,9 +20,9 @@
20
20
  "typescript": "^5.9.3"
21
21
  },
22
22
  "dependencies": {
23
- "@memberjunction/ai": "5.40.2",
24
- "@memberjunction/global": "5.40.2",
25
- "@google/genai": "^1.40.0"
23
+ "@memberjunction/ai": "5.41.0",
24
+ "@memberjunction/global": "5.41.0",
25
+ "@google/genai": "^2.8.0"
26
26
  },
27
27
  "repository": {
28
28
  "type": "git",
package/readme.md CHANGED
@@ -47,6 +47,11 @@ graph TD
47
47
  - **Resolution Control**: Support for sizes up to 4K (3840x2160)
48
48
  - **Style and Quality**: Configurable style and quality parameters
49
49
 
50
+ ### Embeddings (GeminiEmbedding2)
51
+ - **Multimodal Embeddings**: Map text, images, video, audio, and PDF into one shared 3072-dimensional vector space
52
+ - **Cross-Modal Retrieval**: Embed text and media together so a text query can match an image, audio, or video
53
+ - **Text and Batch**: Single and batch text embedding
54
+
50
55
  ## Installation
51
56
 
52
57
  ```bash
@@ -102,6 +107,26 @@ const result = await generator.GenerateImage({
102
107
  });
103
108
  ```
104
109
 
110
+ ### Embeddings
111
+
112
+ ```typescript
113
+ import { GeminiEmbedding2 } from "@memberjunction/ai-gemini";
114
+
115
+ const embedding = new GeminiEmbedding2("your-google-api-key");
116
+
117
+ // Text (3072-dim vector)
118
+ const text = await embedding.EmbedText({ text: "a golden retriever in the snow" });
119
+
120
+ // Multimodal: text + image fused into ONE vector (cross-modal retrieval)
121
+ const multimodal = await embedding.EmbedContent({
122
+ content: [
123
+ { type: "text", content: "product photo:" },
124
+ { type: "image_url", content: "<base64-image>", mimeType: "image/png" },
125
+ ],
126
+ });
127
+ console.log(multimodal.vector.length); // 3072
128
+ ```
129
+
105
130
  ## Thinking Budget / Effort Level
106
131
 
107
132
  The provider maps MJ effort levels to Gemini's thinking system:
@@ -133,6 +158,7 @@ The provider maps MJ effort levels to Gemini's thinking system:
133
158
 
134
159
  - `GeminiLLM` -- Registered via `@RegisterClass(BaseLLM, 'GeminiLLM')`
135
160
  - `GeminiImageGenerator` -- Registered via `@RegisterClass(BaseImageGenerator, 'GeminiImageGenerator')`
161
+ - `GeminiEmbedding2` -- Registered via `@RegisterClass(BaseEmbeddings, 'GeminiEmbedding2')`
136
162
 
137
163
  ## Dependencies
138
164