cloudassist-ai-provider 0.0.1
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/CHANGELOG.md +1901 -0
- package/README.md +35 -0
- package/dist/convert-json-schema-to-openapi-schema.d.ts +6 -0
- package/dist/convert-json-schema-to-openapi-schema.d.ts.map +1 -0
- package/dist/convert-json-schema-to-openapi-schema.js +108 -0
- package/dist/convert-json-schema-to-openapi-schema.test.d.ts +2 -0
- package/dist/convert-json-schema-to-openapi-schema.test.d.ts.map +1 -0
- package/dist/convert-json-schema-to-openapi-schema.test.js +630 -0
- package/dist/convert-to-google-generative-ai-messages.d.ts +7 -0
- package/dist/convert-to-google-generative-ai-messages.d.ts.map +1 -0
- package/dist/convert-to-google-generative-ai-messages.js +195 -0
- package/dist/convert-to-google-generative-ai-messages.test.d.ts +2 -0
- package/dist/convert-to-google-generative-ai-messages.test.d.ts.map +1 -0
- package/dist/convert-to-google-generative-ai-messages.test.js +456 -0
- package/dist/get-model-path.d.ts +2 -0
- package/dist/get-model-path.d.ts.map +1 -0
- package/dist/get-model-path.js +3 -0
- package/dist/get-model-path.test.d.ts +2 -0
- package/dist/get-model-path.test.d.ts.map +1 -0
- package/dist/get-model-path.test.js +11 -0
- package/dist/google-error.d.ts +12 -0
- package/dist/google-error.d.ts.map +1 -0
- package/dist/google-error.js +13 -0
- package/dist/google-generative-ai-embedding-model.d.ts +21 -0
- package/dist/google-generative-ai-embedding-model.d.ts.map +1 -0
- package/dist/google-generative-ai-embedding-model.js +88 -0
- package/dist/google-generative-ai-embedding-model.test.d.ts +2 -0
- package/dist/google-generative-ai-embedding-model.test.d.ts.map +1 -0
- package/dist/google-generative-ai-embedding-model.test.js +148 -0
- package/dist/google-generative-ai-embedding-options.d.ts +8 -0
- package/dist/google-generative-ai-embedding-options.d.ts.map +1 -0
- package/dist/google-generative-ai-embedding-options.js +33 -0
- package/dist/google-generative-ai-image-model.d.ts +31 -0
- package/dist/google-generative-ai-image-model.d.ts.map +1 -0
- package/dist/google-generative-ai-image-model.js +96 -0
- package/dist/google-generative-ai-image-model.test.d.ts +2 -0
- package/dist/google-generative-ai-image-model.test.d.ts.map +1 -0
- package/dist/google-generative-ai-image-model.test.js +252 -0
- package/dist/google-generative-ai-image-settings.d.ts +8 -0
- package/dist/google-generative-ai-image-settings.d.ts.map +1 -0
- package/dist/google-generative-ai-image-settings.js +1 -0
- package/dist/google-generative-ai-language-model.d.ts +183 -0
- package/dist/google-generative-ai-language-model.d.ts.map +1 -0
- package/dist/google-generative-ai-language-model.js +1001 -0
- package/dist/google-generative-ai-language-model.test.d.ts +2 -0
- package/dist/google-generative-ai-language-model.test.d.ts.map +1 -0
- package/dist/google-generative-ai-language-model.test.js +3463 -0
- package/dist/google-generative-ai-options.d.ts +37 -0
- package/dist/google-generative-ai-options.d.ts.map +1 -0
- package/dist/google-generative-ai-options.js +149 -0
- package/dist/google-generative-ai-prompt.d.ts +52 -0
- package/dist/google-generative-ai-prompt.d.ts.map +1 -0
- package/dist/google-generative-ai-prompt.js +1 -0
- package/dist/google-prepare-tools.d.ts +27 -0
- package/dist/google-prepare-tools.d.ts.map +1 -0
- package/dist/google-prepare-tools.js +219 -0
- package/dist/google-prepare-tools.test.d.ts +2 -0
- package/dist/google-prepare-tools.test.d.ts.map +1 -0
- package/dist/google-prepare-tools.test.js +447 -0
- package/dist/google-provider.d.ts +65 -0
- package/dist/google-provider.d.ts.map +1 -0
- package/dist/google-provider.js +74 -0
- package/dist/google-provider.test.d.ts +2 -0
- package/dist/google-provider.test.d.ts.map +1 -0
- package/dist/google-provider.test.js +234 -0
- package/dist/google-supported-file-url.d.ts +2 -0
- package/dist/google-supported-file-url.d.ts.map +1 -0
- package/dist/google-supported-file-url.js +13 -0
- package/dist/google-supported-file-url.test.d.ts +2 -0
- package/dist/google-supported-file-url.test.d.ts.map +1 -0
- package/dist/google-supported-file-url.test.js +45 -0
- package/dist/google-tools.d.ts +76 -0
- package/dist/google-tools.d.ts.map +1 -0
- package/dist/google-tools.js +65 -0
- package/dist/index.d.mts +326 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2172 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal/index.d.mts +262 -0
- package/dist/internal/index.d.ts +4 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/index.js +2 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/internal/index.mjs +1810 -0
- package/dist/internal/index.mjs.map +1 -0
- package/dist/map-google-generative-ai-finish-reason.d.ts +6 -0
- package/dist/map-google-generative-ai-finish-reason.d.ts.map +1 -0
- package/dist/map-google-generative-ai-finish-reason.js +22 -0
- package/dist/tool/code-execution.d.ts +17 -0
- package/dist/tool/code-execution.d.ts.map +1 -0
- package/dist/tool/code-execution.js +25 -0
- package/dist/tool/enterprise-web-search.d.ts +2 -0
- package/dist/tool/enterprise-web-search.d.ts.map +1 -0
- package/dist/tool/enterprise-web-search.js +8 -0
- package/dist/tool/file-search.d.ts +16 -0
- package/dist/tool/file-search.d.ts.map +1 -0
- package/dist/tool/file-search.js +33 -0
- package/dist/tool/google-maps.d.ts +2 -0
- package/dist/tool/google-maps.d.ts.map +1 -0
- package/dist/tool/google-maps.js +9 -0
- package/dist/tool/google-search.d.ts +14 -0
- package/dist/tool/google-search.d.ts.map +1 -0
- package/dist/tool/google-search.js +15 -0
- package/dist/tool/url-context.d.ts +2 -0
- package/dist/tool/url-context.d.ts.map +1 -0
- package/dist/tool/url-context.js +7 -0
- package/dist/tool/vertex-rag-store.d.ts +16 -0
- package/dist/tool/vertex-rag-store.d.ts.map +1 -0
- package/dist/tool/vertex-rag-store.js +17 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/internal.d.ts +1 -0
- package/package.json +73 -0
package/README.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# AI SDK - Google Generative AI Provider
|
|
2
|
+
|
|
3
|
+
The **[Google Generative AI provider](https://ai-sdk.dev/providers/ai-sdk-providers/google-generative-ai)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the [Google Generative AI](https://ai.google/discover/generativeai/) APIs.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
The Google Generative AI provider is available in the `@ai-sdk/google` module. You can install it with
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm i @ai-sdk/google
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Provider Instance
|
|
14
|
+
|
|
15
|
+
You can import the default provider instance `google` from `@ai-sdk/google`:
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { google } from '@ai-sdk/google';
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Example
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import { google } from '@ai-sdk/google';
|
|
25
|
+
import { generateText } from 'ai';
|
|
26
|
+
|
|
27
|
+
const { text } = await generateText({
|
|
28
|
+
model: google('gemini-1.5-pro-latest'),
|
|
29
|
+
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Documentation
|
|
34
|
+
|
|
35
|
+
Please check out the **[Google Generative AI provider documentation](https://ai-sdk.dev/providers/ai-sdk-providers/google-generative-ai)** for more information.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { JSONSchema7Definition } from '@ai-sdk/provider';
|
|
2
|
+
/**
|
|
3
|
+
* Converts JSON Schema 7 to OpenAPI Schema 3.0
|
|
4
|
+
*/
|
|
5
|
+
export declare function convertJSONSchemaToOpenAPISchema(jsonSchema: JSONSchema7Definition | undefined, isRoot?: boolean): unknown;
|
|
6
|
+
//# sourceMappingURL=convert-json-schema-to-openapi-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-json-schema-to-openapi-schema.d.ts","sourceRoot":"","sources":["../src/convert-json-schema-to-openapi-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,qBAAqB,GAAG,SAAS,EAC7C,MAAM,UAAO,GACZ,OAAO,CA0IT"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts JSON Schema 7 to OpenAPI Schema 3.0
|
|
3
|
+
*/
|
|
4
|
+
export function convertJSONSchemaToOpenAPISchema(jsonSchema, isRoot = true) {
|
|
5
|
+
// Handle empty object schemas: undefined at root, preserved when nested
|
|
6
|
+
if (jsonSchema == null) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
if (isEmptyObjectSchema(jsonSchema)) {
|
|
10
|
+
if (isRoot) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
if (typeof jsonSchema === 'object' && jsonSchema.description) {
|
|
14
|
+
return { type: 'object', description: jsonSchema.description };
|
|
15
|
+
}
|
|
16
|
+
return { type: 'object' };
|
|
17
|
+
}
|
|
18
|
+
if (typeof jsonSchema === 'boolean') {
|
|
19
|
+
return { type: 'boolean', properties: {} };
|
|
20
|
+
}
|
|
21
|
+
const { type, description, required, properties, items, allOf, anyOf, oneOf, format, const: constValue, minLength, enum: enumValues, } = jsonSchema;
|
|
22
|
+
const result = {};
|
|
23
|
+
if (description)
|
|
24
|
+
result.description = description;
|
|
25
|
+
if (required)
|
|
26
|
+
result.required = required;
|
|
27
|
+
if (format)
|
|
28
|
+
result.format = format;
|
|
29
|
+
if (constValue !== undefined) {
|
|
30
|
+
result.enum = [constValue];
|
|
31
|
+
}
|
|
32
|
+
// Handle type
|
|
33
|
+
if (type) {
|
|
34
|
+
if (Array.isArray(type)) {
|
|
35
|
+
const hasNull = type.includes('null');
|
|
36
|
+
const nonNullTypes = type.filter(t => t !== 'null');
|
|
37
|
+
if (nonNullTypes.length === 0) {
|
|
38
|
+
// Only null type
|
|
39
|
+
result.type = 'null';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// One or more non-null types: always use anyOf
|
|
43
|
+
result.anyOf = nonNullTypes.map(t => ({ type: t }));
|
|
44
|
+
if (hasNull) {
|
|
45
|
+
result.nullable = true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
result.type = type;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Handle enum
|
|
54
|
+
if (enumValues !== undefined) {
|
|
55
|
+
result.enum = enumValues;
|
|
56
|
+
}
|
|
57
|
+
if (properties != null) {
|
|
58
|
+
result.properties = Object.entries(properties).reduce((acc, [key, value]) => {
|
|
59
|
+
acc[key] = convertJSONSchemaToOpenAPISchema(value, false);
|
|
60
|
+
return acc;
|
|
61
|
+
}, {});
|
|
62
|
+
}
|
|
63
|
+
if (items) {
|
|
64
|
+
result.items = Array.isArray(items)
|
|
65
|
+
? items.map(item => convertJSONSchemaToOpenAPISchema(item, false))
|
|
66
|
+
: convertJSONSchemaToOpenAPISchema(items, false);
|
|
67
|
+
}
|
|
68
|
+
if (allOf) {
|
|
69
|
+
result.allOf = allOf.map(item => convertJSONSchemaToOpenAPISchema(item, false));
|
|
70
|
+
}
|
|
71
|
+
if (anyOf) {
|
|
72
|
+
// Handle cases where anyOf includes a null type
|
|
73
|
+
if (anyOf.some(schema => typeof schema === 'object' && (schema === null || schema === void 0 ? void 0 : schema.type) === 'null')) {
|
|
74
|
+
const nonNullSchemas = anyOf.filter(schema => !(typeof schema === 'object' && (schema === null || schema === void 0 ? void 0 : schema.type) === 'null'));
|
|
75
|
+
if (nonNullSchemas.length === 1) {
|
|
76
|
+
// If there's only one non-null schema, convert it and make it nullable
|
|
77
|
+
const converted = convertJSONSchemaToOpenAPISchema(nonNullSchemas[0], false);
|
|
78
|
+
if (typeof converted === 'object') {
|
|
79
|
+
result.nullable = true;
|
|
80
|
+
Object.assign(result, converted);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// If there are multiple non-null schemas, keep them in anyOf
|
|
85
|
+
result.anyOf = nonNullSchemas.map(item => convertJSONSchemaToOpenAPISchema(item, false));
|
|
86
|
+
result.nullable = true;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
result.anyOf = anyOf.map(item => convertJSONSchemaToOpenAPISchema(item, false));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (oneOf) {
|
|
94
|
+
result.oneOf = oneOf.map(item => convertJSONSchemaToOpenAPISchema(item, false));
|
|
95
|
+
}
|
|
96
|
+
if (minLength !== undefined) {
|
|
97
|
+
result.minLength = minLength;
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
function isEmptyObjectSchema(jsonSchema) {
|
|
102
|
+
return (jsonSchema != null &&
|
|
103
|
+
typeof jsonSchema === 'object' &&
|
|
104
|
+
jsonSchema.type === 'object' &&
|
|
105
|
+
(jsonSchema.properties == null ||
|
|
106
|
+
Object.keys(jsonSchema.properties).length === 0) &&
|
|
107
|
+
!jsonSchema.additionalProperties);
|
|
108
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-json-schema-to-openapi-schema.test.d.ts","sourceRoot":"","sources":["../src/convert-json-schema-to-openapi-schema.test.ts"],"names":[],"mappings":""}
|