@memberjunction/ai-gemini 5.40.1 → 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/geminiEmbedding2.d.ts +27 -0
- package/dist/geminiEmbedding2.d.ts.map +1 -0
- package/dist/geminiEmbedding2.js +146 -0
- package/dist/geminiEmbedding2.js.map +1 -0
- package/dist/geminiRealtime.d.ts +151 -0
- package/dist/geminiRealtime.d.ts.map +1 -0
- package/dist/geminiRealtime.js +651 -0
- package/dist/geminiRealtime.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -41
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/readme.md +26 -0
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,
|
|
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 =>
|
|
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 =>
|
|
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
|
-
|
|
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
|
-
|
|
864
|
-
|
|
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.
|
|
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.
|
|
24
|
-
"@memberjunction/global": "5.
|
|
25
|
-
"@google/genai": "^
|
|
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
|
|