ag-common 0.0.906 → 0.0.907

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,12 +1,18 @@
1
1
  export type ModelPreference = "quality" | "fast" | undefined;
2
+ /** Provenance of a successful response, with generation time in Unix milliseconds. */
3
+ export type GenerationMetadata = {
4
+ model: string;
5
+ generatedAt: number;
6
+ };
2
7
  export declare const isTextGenerationModel: (name: string) => boolean;
3
- export declare const geminiPromptImage: ({ prompt, urls, ident, prefer, }: {
8
+ export declare const geminiPromptImage: ({ prompt, urls, ident, prefer, onGenerated, }: {
4
9
  prompt: string;
5
10
  urls?: string[];
6
11
  ident: string | undefined;
7
12
  prefer?: ModelPreference;
13
+ onGenerated?: (metadata: GenerationMetadata) => void;
8
14
  }) => Promise<string>;
9
- export declare const geminiPromptDirect: ({ prompt, images, ident, prefer, groundedSearch, }: {
15
+ export declare const geminiPromptDirect: ({ prompt, images, ident, prefer, groundedSearch, onGenerated, }: {
10
16
  prompt: string;
11
17
  images?: {
12
18
  arraybuffer: ArrayBuffer;
@@ -15,5 +21,6 @@ export declare const geminiPromptDirect: ({ prompt, images, ident, prefer, groun
15
21
  ident: string | undefined;
16
22
  prefer?: ModelPreference;
17
23
  groundedSearch?: boolean;
24
+ onGenerated?: (metadata: GenerationMetadata) => void;
18
25
  }) => Promise<string>;
19
26
  export declare const resolveGroundedUrl: (url: string) => Promise<string>;
@@ -121,7 +121,7 @@ const getAvailableGeminiCombinations = async (prefer) => {
121
121
  }
122
122
  return combinations;
123
123
  };
124
- const geminiPromptImage = async ({ prompt, urls, ident, prefer, }) => {
124
+ const geminiPromptImage = async ({ prompt, urls, ident, prefer, onGenerated, }) => {
125
125
  let images = [];
126
126
  if (urls && urls.length > 0) {
127
127
  images = await (0, async_1.asyncMap)(urls, (i) => (0, fetch_1.fetchToMemory)(i));
@@ -134,11 +134,12 @@ const geminiPromptImage = async ({ prompt, urls, ident, prefer, }) => {
134
134
  images: images.filter(array_1.notEmpty),
135
135
  ident,
136
136
  prefer,
137
+ onGenerated,
137
138
  });
138
139
  return r;
139
140
  };
140
141
  exports.geminiPromptImage = geminiPromptImage;
141
- const geminiPromptDirect = async ({ prompt, images = [], ident, prefer, groundedSearch = false, }) => {
142
+ const geminiPromptDirect = async ({ prompt, images = [], ident, prefer, groundedSearch = false, onGenerated, }) => {
142
143
  const parts = images.map((i) => ({
143
144
  inlineData: {
144
145
  data: Buffer.from(i.arraybuffer).toString("base64"),
@@ -171,6 +172,7 @@ const geminiPromptDirect = async ({ prompt, images = [], ident, prefer, grounded
171
172
  (0, log_1.debug)("gem prompt:" + prompt, ident);
172
173
  (0, log_1.debug)("gem response:" + rawtext);
173
174
  (0, log_1.debug)("gem query usage:" + JSON.stringify(response.usageMetadata));
175
+ onGenerated?.({ model: response.modelVersion || selectedModel, generatedAt: Date.now() });
174
176
  return rawtext;
175
177
  }
176
178
  catch (e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ag-common",
3
- "version": "0.0.906",
3
+ "version": "0.0.907",
4
4
  "license": "ISC",
5
5
  "author": "admin@gec.dev",
6
6
  "repository": {