@byline/ai 1.9.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/LICENSE +21 -0
- package/README.md +4 -0
- package/dist/@types.d.ts +103 -0
- package/dist/@types.d.ts.map +1 -0
- package/dist/@types.js +68 -0
- package/dist/@types.js.map +1 -0
- package/dist/config/ai-config.d.ts +76 -0
- package/dist/config/ai-config.d.ts.map +1 -0
- package/dist/config/ai-config.js +108 -0
- package/dist/config/ai-config.js.map +1 -0
- package/dist/config/ai-config.test.node.d.ts +9 -0
- package/dist/config/ai-config.test.node.d.ts.map +1 -0
- package/dist/config/ai-config.test.node.js +31 -0
- package/dist/config/ai-config.test.node.js.map +1 -0
- package/dist/config/ai-provider.d.ts +17 -0
- package/dist/config/ai-provider.d.ts.map +1 -0
- package/dist/config/ai-provider.js +32 -0
- package/dist/config/ai-provider.js.map +1 -0
- package/dist/execute.d.ts +15 -0
- package/dist/execute.d.ts.map +1 -0
- package/dist/execute.js +473 -0
- package/dist/execute.js.map +1 -0
- package/dist/generate.d.ts +64 -0
- package/dist/generate.d.ts.map +1 -0
- package/dist/generate.js +235 -0
- package/dist/generate.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/lexical-text-edits.d.ts +23 -0
- package/dist/lexical-text-edits.d.ts.map +1 -0
- package/dist/lexical-text-edits.js +62 -0
- package/dist/lexical-text-edits.js.map +1 -0
- package/dist/lib/logger.d.ts +10 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +16 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/models/anthropic/anthropic-models.d.ts +14 -0
- package/dist/models/anthropic/anthropic-models.d.ts.map +1 -0
- package/dist/models/anthropic/anthropic-models.js +41 -0
- package/dist/models/anthropic/anthropic-models.js.map +1 -0
- package/dist/models/anthropic/anthropic.d.ts +9 -0
- package/dist/models/anthropic/anthropic.d.ts.map +1 -0
- package/dist/models/anthropic/anthropic.js +20 -0
- package/dist/models/anthropic/anthropic.js.map +1 -0
- package/dist/models/anthropic/generate-native.d.ts +59 -0
- package/dist/models/anthropic/generate-native.d.ts.map +1 -0
- package/dist/models/anthropic/generate-native.js +271 -0
- package/dist/models/anthropic/generate-native.js.map +1 -0
- package/dist/models/anthropic/generate-vercel.d.ts +59 -0
- package/dist/models/anthropic/generate-vercel.d.ts.map +1 -0
- package/dist/models/anthropic/generate-vercel.js +126 -0
- package/dist/models/anthropic/generate-vercel.js.map +1 -0
- package/dist/models/anthropic/generate.d.ts +16 -0
- package/dist/models/anthropic/generate.d.ts.map +1 -0
- package/dist/models/anthropic/generate.js +28 -0
- package/dist/models/anthropic/generate.js.map +1 -0
- package/dist/models/anthropic/generate.test.node.d.ts +9 -0
- package/dist/models/anthropic/generate.test.node.d.ts.map +1 -0
- package/dist/models/anthropic/generate.test.node.js +106 -0
- package/dist/models/anthropic/generate.test.node.js.map +1 -0
- package/dist/models/anthropic/patch-native.d.ts +33 -0
- package/dist/models/anthropic/patch-native.d.ts.map +1 -0
- package/dist/models/anthropic/patch-native.js +152 -0
- package/dist/models/anthropic/patch-native.js.map +1 -0
- package/dist/models/anthropic/patch-vercel.d.ts +33 -0
- package/dist/models/anthropic/patch-vercel.d.ts.map +1 -0
- package/dist/models/anthropic/patch-vercel.js +47 -0
- package/dist/models/anthropic/patch-vercel.js.map +1 -0
- package/dist/models/anthropic/patch.d.ts +12 -0
- package/dist/models/anthropic/patch.d.ts.map +1 -0
- package/dist/models/anthropic/patch.js +16 -0
- package/dist/models/anthropic/patch.js.map +1 -0
- package/dist/models/anthropic/patch.test.node.d.ts +9 -0
- package/dist/models/anthropic/patch.test.node.d.ts.map +1 -0
- package/dist/models/anthropic/patch.test.node.js +110 -0
- package/dist/models/anthropic/patch.test.node.js.map +1 -0
- package/dist/models/anthropic/schema.d.ts +212 -0
- package/dist/models/anthropic/schema.d.ts.map +1 -0
- package/dist/models/anthropic/schema.js +131 -0
- package/dist/models/anthropic/schema.js.map +1 -0
- package/dist/models/google/generate-native.d.ts +59 -0
- package/dist/models/google/generate-native.d.ts.map +1 -0
- package/dist/models/google/generate-native.js +244 -0
- package/dist/models/google/generate-native.js.map +1 -0
- package/dist/models/google/generate-vercel.d.ts +59 -0
- package/dist/models/google/generate-vercel.d.ts.map +1 -0
- package/dist/models/google/generate-vercel.js +133 -0
- package/dist/models/google/generate-vercel.js.map +1 -0
- package/dist/models/google/generate.d.ts +16 -0
- package/dist/models/google/generate.d.ts.map +1 -0
- package/dist/models/google/generate.js +28 -0
- package/dist/models/google/generate.js.map +1 -0
- package/dist/models/google/generate.test.node.d.ts +9 -0
- package/dist/models/google/generate.test.node.d.ts.map +1 -0
- package/dist/models/google/generate.test.node.js +106 -0
- package/dist/models/google/generate.test.node.js.map +1 -0
- package/dist/models/google/google-models.d.ts +14 -0
- package/dist/models/google/google-models.d.ts.map +1 -0
- package/dist/models/google/google-models.js +25 -0
- package/dist/models/google/google-models.js.map +1 -0
- package/dist/models/google/normalize-generated-doc.d.ts +10 -0
- package/dist/models/google/normalize-generated-doc.d.ts.map +1 -0
- package/dist/models/google/normalize-generated-doc.js +48 -0
- package/dist/models/google/normalize-generated-doc.js.map +1 -0
- package/dist/models/google/patch-native.d.ts +33 -0
- package/dist/models/google/patch-native.d.ts.map +1 -0
- package/dist/models/google/patch-native.js +164 -0
- package/dist/models/google/patch-native.js.map +1 -0
- package/dist/models/google/patch-vercel.d.ts +33 -0
- package/dist/models/google/patch-vercel.d.ts.map +1 -0
- package/dist/models/google/patch-vercel.js +49 -0
- package/dist/models/google/patch-vercel.js.map +1 -0
- package/dist/models/google/patch.d.ts +12 -0
- package/dist/models/google/patch.d.ts.map +1 -0
- package/dist/models/google/patch.js +16 -0
- package/dist/models/google/patch.js.map +1 -0
- package/dist/models/google/patch.test.node.d.ts +9 -0
- package/dist/models/google/patch.test.node.d.ts.map +1 -0
- package/dist/models/google/patch.test.node.js +110 -0
- package/dist/models/google/patch.test.node.js.map +1 -0
- package/dist/models/google/schema.d.ts +416 -0
- package/dist/models/google/schema.d.ts.map +1 -0
- package/dist/models/google/schema.js +254 -0
- package/dist/models/google/schema.js.map +1 -0
- package/dist/models/openai/generate-native.d.ts +65 -0
- package/dist/models/openai/generate-native.d.ts.map +1 -0
- package/dist/models/openai/generate-native.js +276 -0
- package/dist/models/openai/generate-native.js.map +1 -0
- package/dist/models/openai/generate-vercel.d.ts +59 -0
- package/dist/models/openai/generate-vercel.d.ts.map +1 -0
- package/dist/models/openai/generate-vercel.js +132 -0
- package/dist/models/openai/generate-vercel.js.map +1 -0
- package/dist/models/openai/generate.d.ts +16 -0
- package/dist/models/openai/generate.d.ts.map +1 -0
- package/dist/models/openai/generate.js +28 -0
- package/dist/models/openai/generate.js.map +1 -0
- package/dist/models/openai/generate.test.node.d.ts +9 -0
- package/dist/models/openai/generate.test.node.d.ts.map +1 -0
- package/dist/models/openai/generate.test.node.js +106 -0
- package/dist/models/openai/generate.test.node.js.map +1 -0
- package/dist/models/openai/openai-models.d.ts +14 -0
- package/dist/models/openai/openai-models.d.ts.map +1 -0
- package/dist/models/openai/openai-models.js +23 -0
- package/dist/models/openai/openai-models.js.map +1 -0
- package/dist/models/openai/patch-native.d.ts +33 -0
- package/dist/models/openai/patch-native.d.ts.map +1 -0
- package/dist/models/openai/patch-native.js +151 -0
- package/dist/models/openai/patch-native.js.map +1 -0
- package/dist/models/openai/patch-vercel.d.ts +33 -0
- package/dist/models/openai/patch-vercel.d.ts.map +1 -0
- package/dist/models/openai/patch-vercel.js +49 -0
- package/dist/models/openai/patch-vercel.js.map +1 -0
- package/dist/models/openai/patch.d.ts +12 -0
- package/dist/models/openai/patch.d.ts.map +1 -0
- package/dist/models/openai/patch.js +16 -0
- package/dist/models/openai/patch.js.map +1 -0
- package/dist/models/openai/patch.test.node.d.ts +9 -0
- package/dist/models/openai/patch.test.node.d.ts.map +1 -0
- package/dist/models/openai/patch.test.node.js +110 -0
- package/dist/models/openai/patch.test.node.js.map +1 -0
- package/dist/models/openai/schema.d.ts +460 -0
- package/dist/models/openai/schema.d.ts.map +1 -0
- package/dist/models/openai/schema.js +327 -0
- package/dist/models/openai/schema.js.map +1 -0
- package/dist/patch.d.ts +45 -0
- package/dist/patch.d.ts.map +1 -0
- package/dist/patch.js +138 -0
- package/dist/patch.js.map +1 -0
- package/dist/plugins/ai-plugin-base.d.ts +40 -0
- package/dist/plugins/ai-plugin-base.d.ts.map +1 -0
- package/dist/plugins/ai-plugin-base.js +218 -0
- package/dist/plugins/ai-plugin-base.js.map +1 -0
- package/dist/plugins/ai-plugin.css +181 -0
- package/dist/plugins/lexical/create-empty-editor-state.d.ts +32 -0
- package/dist/plugins/lexical/create-empty-editor-state.d.ts.map +1 -0
- package/dist/plugins/lexical/create-empty-editor-state.js +51 -0
- package/dist/plugins/lexical/create-empty-editor-state.js.map +1 -0
- package/dist/plugins/lexical/import-html.d.ts +10 -0
- package/dist/plugins/lexical/import-html.d.ts.map +1 -0
- package/dist/plugins/lexical/import-html.js +31 -0
- package/dist/plugins/lexical/import-html.js.map +1 -0
- package/dist/plugins/lexical/index.d.ts +9 -0
- package/dist/plugins/lexical/index.d.ts.map +1 -0
- package/dist/plugins/lexical/index.js +9 -0
- package/dist/plugins/lexical/index.js.map +1 -0
- package/dist/plugins/lexical/plugin.d.ts +11 -0
- package/dist/plugins/lexical/plugin.d.ts.map +1 -0
- package/dist/plugins/lexical/plugin.js +305 -0
- package/dist/plugins/lexical/plugin.js.map +1 -0
- package/dist/plugins/storage.d.ts +18 -0
- package/dist/plugins/storage.d.ts.map +1 -0
- package/dist/plugins/storage.js +57 -0
- package/dist/plugins/storage.js.map +1 -0
- package/dist/plugins/streaming-preview.d.ts +12 -0
- package/dist/plugins/streaming-preview.d.ts.map +1 -0
- package/dist/plugins/streaming-preview.js +24 -0
- package/dist/plugins/streaming-preview.js.map +1 -0
- package/dist/plugins/text/index.d.ts +9 -0
- package/dist/plugins/text/index.d.ts.map +1 -0
- package/dist/plugins/text/index.js +9 -0
- package/dist/plugins/text/index.js.map +1 -0
- package/dist/plugins/text/plugin.d.ts +18 -0
- package/dist/plugins/text/plugin.d.ts.map +1 -0
- package/dist/plugins/text/plugin.js +261 -0
- package/dist/plugins/text/plugin.js.map +1 -0
- package/dist/prompts.d.ts +30 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +83 -0
- package/dist/prompts.js.map +1 -0
- package/dist/schemas/lexical-json-schema.d.ts +68 -0
- package/dist/schemas/lexical-json-schema.d.ts.map +1 -0
- package/dist/schemas/lexical-json-schema.js +434 -0
- package/dist/schemas/lexical-json-schema.js.map +1 -0
- package/dist/scripts/list-models.d.ts +9 -0
- package/dist/scripts/list-models.d.ts.map +1 -0
- package/dist/scripts/list-models.js +55 -0
- package/dist/scripts/list-models.js.map +1 -0
- package/dist/server.d.ts +25 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +22 -0
- package/dist/server.js.map +1 -0
- package/dist/utils/convert-to-lexical.d.ts +62 -0
- package/dist/utils/convert-to-lexical.d.ts.map +1 -0
- package/dist/utils/convert-to-lexical.js +210 -0
- package/dist/utils/convert-to-lexical.js.map +1 -0
- package/dist/utils/create-empty-editor-state.d.ts +32 -0
- package/dist/utils/create-empty-editor-state.d.ts.map +1 -0
- package/dist/utils/create-empty-editor-state.js +51 -0
- package/dist/utils/create-empty-editor-state.js.map +1 -0
- package/dist/utils/has-text.d.ts +10 -0
- package/dist/utils/has-text.d.ts.map +1 -0
- package/dist/utils/has-text.js +35 -0
- package/dist/utils/has-text.js.map +1 -0
- package/dist/utils/has-text.test.d.ts +9 -0
- package/dist/utils/has-text.test.d.ts.map +1 -0
- package/dist/utils/has-text.test.js +69 -0
- package/dist/utils/has-text.test.js.map +1 -0
- package/dist/utils/is-object-schema.d.ts +17 -0
- package/dist/utils/is-object-schema.d.ts.map +1 -0
- package/dist/utils/is-object-schema.js +19 -0
- package/dist/utils/is-object-schema.js.map +1 -0
- package/dist/utils/lexical-text-edits.d.ts +23 -0
- package/dist/utils/lexical-text-edits.d.ts.map +1 -0
- package/dist/utils/lexical-text-edits.js +62 -0
- package/dist/utils/lexical-text-edits.js.map +1 -0
- package/package.json +111 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import type { GeneratedDoc } from '../../utils/convert-to-lexical';
|
|
9
|
+
export type GenerateTextStreamingResult = {
|
|
10
|
+
text: AsyncIterable<string>;
|
|
11
|
+
final: Promise<string>;
|
|
12
|
+
};
|
|
13
|
+
export type GenerateHtmlStreamingResult = {
|
|
14
|
+
text: AsyncIterable<string>;
|
|
15
|
+
final: Promise<string>;
|
|
16
|
+
};
|
|
17
|
+
export declare function generateHtml(options: {
|
|
18
|
+
apiKey: string;
|
|
19
|
+
model: string;
|
|
20
|
+
prompt: string;
|
|
21
|
+
signal?: AbortSignal;
|
|
22
|
+
}): Promise<string>;
|
|
23
|
+
export declare function generateHtmlStreaming(options: {
|
|
24
|
+
apiKey: string;
|
|
25
|
+
model: string;
|
|
26
|
+
prompt: string;
|
|
27
|
+
signal?: AbortSignal;
|
|
28
|
+
}): GenerateHtmlStreamingResult;
|
|
29
|
+
export declare function generateText(options: {
|
|
30
|
+
apiKey: string;
|
|
31
|
+
model: string;
|
|
32
|
+
prompt: string;
|
|
33
|
+
maxLength?: number;
|
|
34
|
+
signal?: AbortSignal;
|
|
35
|
+
}): Promise<string>;
|
|
36
|
+
export declare function generateTextStreaming(options: {
|
|
37
|
+
apiKey: string;
|
|
38
|
+
model: string;
|
|
39
|
+
prompt: string;
|
|
40
|
+
maxLength?: number;
|
|
41
|
+
signal?: AbortSignal;
|
|
42
|
+
}): GenerateTextStreamingResult;
|
|
43
|
+
export declare function generateDoc(options: {
|
|
44
|
+
apiKey: string;
|
|
45
|
+
model: string;
|
|
46
|
+
prompt: string;
|
|
47
|
+
signal?: AbortSignal;
|
|
48
|
+
}): Promise<GeneratedDoc>;
|
|
49
|
+
export type GenerateDocStreamingResult = {
|
|
50
|
+
text: AsyncIterable<string>;
|
|
51
|
+
final: Promise<GeneratedDoc>;
|
|
52
|
+
};
|
|
53
|
+
export declare function generateDocStreaming(options: {
|
|
54
|
+
apiKey: string;
|
|
55
|
+
model: string;
|
|
56
|
+
prompt: string;
|
|
57
|
+
signal?: AbortSignal;
|
|
58
|
+
}): GenerateDocStreamingResult;
|
|
59
|
+
//# sourceMappingURL=generate-vercel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-vercel.d.ts","sourceRoot":"","sources":["../../../src/models/google/generate-vercel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAA;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAWlB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,2BAA2B,CAc9B;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BlB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,2BAA2B,CAgD9B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBxB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAC7B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,0BAA0B,CAsB7B"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { createGoogleGenerativeAI } from '@ai-sdk/google';
|
|
9
|
+
import { generateText as generateTextAi, jsonSchema, Output, streamText as streamTextAi } from 'ai';
|
|
10
|
+
import { buildGenerateHtmlSystemPrompt, buildGenerateHtmlUserPrompt, buildGenerateSystemPrompt, buildGenerateTextSystemPrompt, buildGenerateTextUserPrompt, } from '../../prompts';
|
|
11
|
+
import { normalizeGeneratedDoc } from './normalize-generated-doc';
|
|
12
|
+
import { geminiGenerationSchema, geminiGenerationSchema2 } from './schema';
|
|
13
|
+
export async function generateHtml(options) {
|
|
14
|
+
const google = createGoogleGenerativeAI({ apiKey: options.apiKey });
|
|
15
|
+
const result = await generateTextAi({
|
|
16
|
+
model: google(options.model),
|
|
17
|
+
system: buildGenerateHtmlSystemPrompt(),
|
|
18
|
+
prompt: buildGenerateHtmlUserPrompt(options.prompt),
|
|
19
|
+
abortSignal: options.signal,
|
|
20
|
+
});
|
|
21
|
+
return result.text;
|
|
22
|
+
}
|
|
23
|
+
export function generateHtmlStreaming(options) {
|
|
24
|
+
const google = createGoogleGenerativeAI({ apiKey: options.apiKey });
|
|
25
|
+
const result = streamTextAi({
|
|
26
|
+
model: google(options.model),
|
|
27
|
+
system: buildGenerateHtmlSystemPrompt(),
|
|
28
|
+
prompt: buildGenerateHtmlUserPrompt(options.prompt),
|
|
29
|
+
abortSignal: options.signal,
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
text: result.textStream,
|
|
33
|
+
final: result.text,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export async function generateText(options) {
|
|
37
|
+
const google = createGoogleGenerativeAI({ apiKey: options.apiKey });
|
|
38
|
+
const maxLength = typeof options.maxLength === 'number' && Number.isFinite(options.maxLength)
|
|
39
|
+
? Math.floor(options.maxLength)
|
|
40
|
+
: undefined;
|
|
41
|
+
const promptWithLength = typeof maxLength === 'number' && maxLength > 0
|
|
42
|
+
? `${options.prompt}\n\nConstraints:\n- Maximum length: ${maxLength} characters.`
|
|
43
|
+
: options.prompt;
|
|
44
|
+
const result = await generateTextAi({
|
|
45
|
+
model: google(options.model),
|
|
46
|
+
system: buildGenerateTextSystemPrompt(),
|
|
47
|
+
prompt: buildGenerateTextUserPrompt(promptWithLength),
|
|
48
|
+
abortSignal: options.signal,
|
|
49
|
+
});
|
|
50
|
+
const normalized = result.text.trim();
|
|
51
|
+
if (typeof maxLength === 'number' && maxLength > 0) {
|
|
52
|
+
return normalized.length > maxLength ? normalized.slice(0, maxLength).trimEnd() : normalized;
|
|
53
|
+
}
|
|
54
|
+
return normalized;
|
|
55
|
+
}
|
|
56
|
+
export function generateTextStreaming(options) {
|
|
57
|
+
const google = createGoogleGenerativeAI({ apiKey: options.apiKey });
|
|
58
|
+
const maxLength = typeof options.maxLength === 'number' && Number.isFinite(options.maxLength)
|
|
59
|
+
? Math.floor(options.maxLength)
|
|
60
|
+
: undefined;
|
|
61
|
+
const promptWithLength = typeof maxLength === 'number' && maxLength > 0
|
|
62
|
+
? `${options.prompt}\n\nConstraints:\n- Maximum length: ${maxLength} characters.`
|
|
63
|
+
: options.prompt;
|
|
64
|
+
const result = streamTextAi({
|
|
65
|
+
model: google(options.model),
|
|
66
|
+
system: buildGenerateTextSystemPrompt(),
|
|
67
|
+
prompt: buildGenerateTextUserPrompt(promptWithLength),
|
|
68
|
+
abortSignal: options.signal,
|
|
69
|
+
});
|
|
70
|
+
const text = (async function* () {
|
|
71
|
+
let remaining = typeof maxLength === 'number' && maxLength > 0 ? maxLength : undefined;
|
|
72
|
+
for await (const delta of result.textStream) {
|
|
73
|
+
if (typeof remaining === 'number') {
|
|
74
|
+
if (remaining <= 0) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const chunk = delta.slice(0, remaining);
|
|
78
|
+
remaining -= chunk.length;
|
|
79
|
+
if (chunk.length > 0) {
|
|
80
|
+
yield chunk;
|
|
81
|
+
}
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
yield delta;
|
|
85
|
+
}
|
|
86
|
+
})();
|
|
87
|
+
const final = result.text.then((t) => {
|
|
88
|
+
const normalized = (t ?? '').trim();
|
|
89
|
+
if (typeof maxLength === 'number' && maxLength > 0) {
|
|
90
|
+
return normalized.length > maxLength ? normalized.slice(0, maxLength).trimEnd() : normalized;
|
|
91
|
+
}
|
|
92
|
+
return normalized;
|
|
93
|
+
});
|
|
94
|
+
return { text, final };
|
|
95
|
+
}
|
|
96
|
+
export async function generateDoc(options) {
|
|
97
|
+
const google = createGoogleGenerativeAI({ apiKey: options.apiKey });
|
|
98
|
+
const schema = jsonSchema({
|
|
99
|
+
...geminiGenerationSchema2,
|
|
100
|
+
$schema: undefined,
|
|
101
|
+
});
|
|
102
|
+
const result = await generateTextAi({
|
|
103
|
+
model: google(options.model),
|
|
104
|
+
system: buildGenerateSystemPrompt(),
|
|
105
|
+
prompt: options.prompt,
|
|
106
|
+
abortSignal: options.signal,
|
|
107
|
+
output: Output.object({
|
|
108
|
+
schema,
|
|
109
|
+
}),
|
|
110
|
+
});
|
|
111
|
+
return normalizeGeneratedDoc(result.output);
|
|
112
|
+
}
|
|
113
|
+
export function generateDocStreaming(options) {
|
|
114
|
+
const google = createGoogleGenerativeAI({ apiKey: options.apiKey });
|
|
115
|
+
const schema = jsonSchema({
|
|
116
|
+
...geminiGenerationSchema,
|
|
117
|
+
$schema: undefined,
|
|
118
|
+
});
|
|
119
|
+
const result = streamTextAi({
|
|
120
|
+
model: google(options.model),
|
|
121
|
+
system: buildGenerateSystemPrompt(),
|
|
122
|
+
prompt: options.prompt,
|
|
123
|
+
abortSignal: options.signal,
|
|
124
|
+
output: Output.object({
|
|
125
|
+
schema,
|
|
126
|
+
}),
|
|
127
|
+
});
|
|
128
|
+
return {
|
|
129
|
+
text: result.textStream,
|
|
130
|
+
final: result.output.then(normalizeGeneratedDoc),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=generate-vercel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-vercel.js","sourceRoot":"","sources":["../../../src/models/google/generate-vercel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { generateDoc as generateVercelDoc, generateDocStreaming as generateVercelDocStreaming, generateHtml as generateVercelHtml, generateHtmlStreaming as generateVercelHtmlStreaming, generateText as generateVercelText, generateTextStreaming as generateVercelTextStreaming } from './generate-vercel';
|
|
9
|
+
import type { Sdk } from '../../@types';
|
|
10
|
+
export declare const getGenerateDoc: (sdk: Sdk) => typeof generateVercelDoc;
|
|
11
|
+
export declare const getGenerateDocStreaming: (sdk: Sdk) => typeof generateVercelDocStreaming;
|
|
12
|
+
export declare const getGenerateHtml: (sdk: Sdk) => typeof generateVercelHtml;
|
|
13
|
+
export declare const getGenerateHtmlStreaming: (sdk: Sdk) => typeof generateVercelHtmlStreaming;
|
|
14
|
+
export declare const getGenerateText: (sdk: Sdk) => typeof generateVercelText;
|
|
15
|
+
export declare const getGenerateTextStreaming: (sdk: Sdk) => typeof generateVercelTextStreaming;
|
|
16
|
+
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/models/google/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EACL,WAAW,IAAI,iBAAiB,EAChC,oBAAoB,IAAI,0BAA0B,EAClD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,EACpD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,EACrD,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,6BAEtC,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,KAAK,GAAG,sCAE/C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,GAAG,8BAEvC,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,KAAK,GAAG,uCAEhD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,GAAG,8BAEvC,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,KAAK,GAAG,uCAEhD,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { generateDoc as generateNativeDoc, generateDocStreaming as generateNativeDocStreaming, generateHtml as generateNativeHtml, generateHtmlStreaming as generateNativeHtmlStreaming, generateText as generateNativeText, generateTextStreaming as generateNativeTextStreaming, } from './generate-native';
|
|
9
|
+
import { generateDoc as generateVercelDoc, generateDocStreaming as generateVercelDocStreaming, generateHtml as generateVercelHtml, generateHtmlStreaming as generateVercelHtmlStreaming, generateText as generateVercelText, generateTextStreaming as generateVercelTextStreaming, } from './generate-vercel';
|
|
10
|
+
export const getGenerateDoc = (sdk) => {
|
|
11
|
+
return sdk === 'vercel' ? generateVercelDoc : generateNativeDoc;
|
|
12
|
+
};
|
|
13
|
+
export const getGenerateDocStreaming = (sdk) => {
|
|
14
|
+
return sdk === 'vercel' ? generateVercelDocStreaming : generateNativeDocStreaming;
|
|
15
|
+
};
|
|
16
|
+
export const getGenerateHtml = (sdk) => {
|
|
17
|
+
return sdk === 'vercel' ? generateVercelHtml : generateNativeHtml;
|
|
18
|
+
};
|
|
19
|
+
export const getGenerateHtmlStreaming = (sdk) => {
|
|
20
|
+
return sdk === 'vercel' ? generateVercelHtmlStreaming : generateNativeHtmlStreaming;
|
|
21
|
+
};
|
|
22
|
+
export const getGenerateText = (sdk) => {
|
|
23
|
+
return sdk === 'vercel' ? generateVercelText : generateNativeText;
|
|
24
|
+
};
|
|
25
|
+
export const getGenerateTextStreaming = (sdk) => {
|
|
26
|
+
return sdk === 'vercel' ? generateVercelTextStreaming : generateNativeTextStreaming;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/models/google/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,WAAW,IAAI,iBAAiB,EAChC,oBAAoB,IAAI,0BAA0B,EAClD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,EACpD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,GACrD,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,WAAW,IAAI,iBAAiB,EAChC,oBAAoB,IAAI,0BAA0B,EAClD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,EACpD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,GACrD,MAAM,mBAAmB,CAAA;AAG1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAQ,EAAE,EAAE;IAClD,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,0BAA0B,CAAA;AACnF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC1C,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACnD,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAA;AACrF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC1C,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACnD,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAA;AACrF,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=generate.test.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.test.node.d.ts","sourceRoot":"","sources":["../../../src/models/google/generate.test.node.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { beforeEach, describe, expect, it } from 'vitest';
|
|
9
|
+
import { getAiServerConfig as getServerConfig } from '../../config/ai-config';
|
|
10
|
+
import { generateDoc as generateDocNative, generateDocStreaming as generateDocStreamingNative, } from './generate-native';
|
|
11
|
+
import { generateDocStreaming as generateDocStreamingVercel, generateDoc as generateDocVercel, } from './generate-vercel';
|
|
12
|
+
const MODEL = 'gemini-2.5-flash';
|
|
13
|
+
describe('google generate', () => {
|
|
14
|
+
beforeEach(async () => { });
|
|
15
|
+
const runReal = true; // = process.env.AI_RUN_REAL_TESTS === 'true'
|
|
16
|
+
if (runReal) {
|
|
17
|
+
/***
|
|
18
|
+
* Generates a document from Google using structured outputs.
|
|
19
|
+
*/
|
|
20
|
+
it('makes a real Google request (manual run) from native provider', async () => {
|
|
21
|
+
const config = getServerConfig();
|
|
22
|
+
if (!config.ai.google.apiKey) {
|
|
23
|
+
throw new Error('GOOGLE_API_KEY is required for real Google tests.');
|
|
24
|
+
}
|
|
25
|
+
const result = await generateDocNative({
|
|
26
|
+
apiKey: config.ai.google.apiKey,
|
|
27
|
+
model: MODEL,
|
|
28
|
+
prompt: 'Write a short description of the solar system..',
|
|
29
|
+
});
|
|
30
|
+
console.log('RESULT (Google Native):', result);
|
|
31
|
+
expect(result).toBeTruthy();
|
|
32
|
+
expect(typeof result).toBe('object');
|
|
33
|
+
}, 30000);
|
|
34
|
+
/***
|
|
35
|
+
* Generates a document from Google using structured outputs via streaming.
|
|
36
|
+
*/
|
|
37
|
+
it.skip('streams a real Google response (manual run) from native provider', async () => {
|
|
38
|
+
const config = getServerConfig();
|
|
39
|
+
if (!config.ai.google.apiKey) {
|
|
40
|
+
throw new Error('GOOGLE_API_KEY is required for real Google tests.');
|
|
41
|
+
}
|
|
42
|
+
const streamResult = generateDocStreamingNative({
|
|
43
|
+
apiKey: config.ai.google.apiKey,
|
|
44
|
+
model: MODEL,
|
|
45
|
+
prompt: 'Write a short description of the solar system..',
|
|
46
|
+
});
|
|
47
|
+
let streamedText = '';
|
|
48
|
+
for await (const chunk of streamResult.text) {
|
|
49
|
+
streamedText += chunk;
|
|
50
|
+
console.log('STREAM CHUNK (Google Native):', chunk);
|
|
51
|
+
}
|
|
52
|
+
const final = await streamResult.final;
|
|
53
|
+
console.log('FINAL RESULT (Google Native):', final);
|
|
54
|
+
expect(streamedText.length).toBeGreaterThanOrEqual(0);
|
|
55
|
+
expect(final).toBeTruthy();
|
|
56
|
+
expect(typeof final).toBe('object');
|
|
57
|
+
}, 30000);
|
|
58
|
+
/***
|
|
59
|
+
* Generates a document from Google using structured outputs.
|
|
60
|
+
*/
|
|
61
|
+
it('makes a real Google request (manual run) from vercel provider', async () => {
|
|
62
|
+
const config = getServerConfig();
|
|
63
|
+
if (!config.ai.google.apiKey) {
|
|
64
|
+
throw new Error('GOOGLE_API_KEY is required for real Google tests.');
|
|
65
|
+
}
|
|
66
|
+
const result = await generateDocVercel({
|
|
67
|
+
apiKey: config.ai.google.apiKey,
|
|
68
|
+
model: MODEL,
|
|
69
|
+
prompt: 'Write a short description of the solar system..',
|
|
70
|
+
});
|
|
71
|
+
console.log('RESULT (Google Vercel):', result);
|
|
72
|
+
expect(result).toBeTruthy();
|
|
73
|
+
expect(typeof result).toBe('object');
|
|
74
|
+
}, 30000);
|
|
75
|
+
/***
|
|
76
|
+
* Generates a document from Google using structured outputs via streaming.
|
|
77
|
+
*/
|
|
78
|
+
it.skip('streams a real Google response (manual run) from vercel provider', async () => {
|
|
79
|
+
const config = getServerConfig();
|
|
80
|
+
if (!config.ai.google.apiKey) {
|
|
81
|
+
throw new Error('GOOGLE_API_KEY is required for real Google tests.');
|
|
82
|
+
}
|
|
83
|
+
const streamResult = generateDocStreamingVercel({
|
|
84
|
+
apiKey: config.ai.google.apiKey,
|
|
85
|
+
model: MODEL,
|
|
86
|
+
prompt: 'Write a short description of the solar system..',
|
|
87
|
+
});
|
|
88
|
+
let streamedText = '';
|
|
89
|
+
for await (const chunk of streamResult.text) {
|
|
90
|
+
streamedText += chunk;
|
|
91
|
+
console.log('STREAM CHUNK (Google Vercel):', chunk);
|
|
92
|
+
}
|
|
93
|
+
const final = await streamResult.final;
|
|
94
|
+
console.log('FINAL RESULT (Google Vercel):', final);
|
|
95
|
+
expect(streamedText.length).toBeGreaterThanOrEqual(0);
|
|
96
|
+
expect(final).toBeTruthy();
|
|
97
|
+
expect(typeof final).toBe('object');
|
|
98
|
+
}, 30000);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
it.skip('skips real Google tests', () => {
|
|
102
|
+
console.log('Set AI_RUN_REAL_TESTS=true to run real Google tests.');
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
//# sourceMappingURL=generate.test.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.test.node.js","sourceRoot":"","sources":["../../../src/models/google/generate.test.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
export type ModelInfo = {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function listAllModels(): Promise<ModelInfo[]>;
|
|
14
|
+
//# sourceMappingURL=google-models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-models.d.ts","sourceRoot":"","sources":["../../../src/models/google/google-models.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAe1D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { GoogleGenAI } from '@google/genai';
|
|
9
|
+
import { getAiServerConfig as getServerConfig } from '../../config/ai-config';
|
|
10
|
+
export async function listAllModels() {
|
|
11
|
+
const ai = new GoogleGenAI({ apiKey: getServerConfig().ai.google.apiKey });
|
|
12
|
+
const models = [];
|
|
13
|
+
const modelsPager = await ai.models.list();
|
|
14
|
+
for await (const model of modelsPager) {
|
|
15
|
+
if (model?.supportedActions?.includes('generateContent')) {
|
|
16
|
+
models.push({
|
|
17
|
+
id: model.name ?? '',
|
|
18
|
+
name: model.displayName ?? model.name ?? '',
|
|
19
|
+
description: model.description ?? '',
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return models;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=google-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-models.js","sourceRoot":"","sources":["../../../src/models/google/google-models.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,iBAAiB,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAY7E,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAE1E,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAC1C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QACtC,IAAI,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACpB,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;gBAC3C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;aACrC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import type { GeneratedDoc } from '../../utils/convert-to-lexical';
|
|
9
|
+
export declare const normalizeGeneratedDoc: (doc: unknown) => GeneratedDoc;
|
|
10
|
+
//# sourceMappingURL=normalize-generated-doc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-generated-doc.d.ts","sourceRoot":"","sources":["../../../src/models/google/normalize-generated-doc.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAQ9D,eAAO,MAAM,qBAAqB,GAAI,KAAK,OAAO,KAAG,YAoCpD,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
const normalizeAlign = (value) => {
|
|
9
|
+
if (value === 'start' || value === 'center' || value === 'right')
|
|
10
|
+
return value;
|
|
11
|
+
if (value === 'left')
|
|
12
|
+
return 'start';
|
|
13
|
+
return 'start';
|
|
14
|
+
};
|
|
15
|
+
export const normalizeGeneratedDoc = (doc) => {
|
|
16
|
+
const normalizeParagraph = (p) => {
|
|
17
|
+
if (p && p.kind === 'paragraph') {
|
|
18
|
+
p.align = normalizeAlign(p.align);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const normalizeBlocks = (blocks) => {
|
|
22
|
+
for (const block of blocks) {
|
|
23
|
+
if (!block || typeof block !== 'object')
|
|
24
|
+
continue;
|
|
25
|
+
if (block.kind === 'paragraph') {
|
|
26
|
+
normalizeParagraph(block);
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (block.kind === 'quote' && Array.isArray(block.blocks)) {
|
|
30
|
+
normalizeBlocks(block.blocks);
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (block.kind === 'list' && Array.isArray(block.items)) {
|
|
34
|
+
for (const item of block.items) {
|
|
35
|
+
if (item && Array.isArray(item.blocks)) {
|
|
36
|
+
for (const paragraph of item.blocks)
|
|
37
|
+
normalizeParagraph(paragraph);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
if (doc && typeof doc === 'object' && Array.isArray(doc.blocks)) {
|
|
44
|
+
normalizeBlocks(doc.blocks);
|
|
45
|
+
}
|
|
46
|
+
return doc;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=normalize-generated-doc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-generated-doc.js","sourceRoot":"","sources":["../../../src/models/google/normalize-generated-doc.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,cAAc,GAAG,CAAC,KAAc,EAAgC,EAAE;IACtE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAA;IAC9E,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,OAAO,CAAA;IACpC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAY,EAAgB,EAAE;IAClE,MAAM,kBAAkB,GAAG,CAAC,CAAM,EAAE,EAAE;QACpC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,MAAa,EAAE,EAAE;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAQ;YAEjD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC/B,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACzB,SAAQ;YACV,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBAC7B,SAAQ;YACV,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM;4BAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;oBACpE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAE,GAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,eAAe,CAAE,GAAW,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,GAAmB,CAAA;AAC5B,CAAC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import type { LexicalTextEditsResponse } from '../../utils/lexical-text-edits';
|
|
9
|
+
export declare function patchDoc(options: {
|
|
10
|
+
apiKey: string;
|
|
11
|
+
model: string;
|
|
12
|
+
prompt: string;
|
|
13
|
+
textNodes: Array<{
|
|
14
|
+
id: number;
|
|
15
|
+
text: string;
|
|
16
|
+
}>;
|
|
17
|
+
signal?: AbortSignal;
|
|
18
|
+
}): Promise<LexicalTextEditsResponse>;
|
|
19
|
+
export type PatchDocStreamingResult = {
|
|
20
|
+
text: AsyncIterable<string>;
|
|
21
|
+
final: Promise<LexicalTextEditsResponse>;
|
|
22
|
+
};
|
|
23
|
+
export declare function patchDocStreaming(options: {
|
|
24
|
+
apiKey: string;
|
|
25
|
+
model: string;
|
|
26
|
+
prompt: string;
|
|
27
|
+
textNodes: Array<{
|
|
28
|
+
id: number;
|
|
29
|
+
text: string;
|
|
30
|
+
}>;
|
|
31
|
+
signal?: AbortSignal;
|
|
32
|
+
}): PatchDocStreamingResult;
|
|
33
|
+
//# sourceMappingURL=patch-native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch-native.d.ts","sourceRoot":"","sources":["../../../src/models/google/patch-native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAqG1E,wBAAsB,QAAQ,CAAC,OAAO,EAAE;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA2BpC;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAA;CACzC,CAAA;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,uBAAuB,CAuD1B"}
|