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.
Files changed (117) hide show
  1. package/CHANGELOG.md +1901 -0
  2. package/README.md +35 -0
  3. package/dist/convert-json-schema-to-openapi-schema.d.ts +6 -0
  4. package/dist/convert-json-schema-to-openapi-schema.d.ts.map +1 -0
  5. package/dist/convert-json-schema-to-openapi-schema.js +108 -0
  6. package/dist/convert-json-schema-to-openapi-schema.test.d.ts +2 -0
  7. package/dist/convert-json-schema-to-openapi-schema.test.d.ts.map +1 -0
  8. package/dist/convert-json-schema-to-openapi-schema.test.js +630 -0
  9. package/dist/convert-to-google-generative-ai-messages.d.ts +7 -0
  10. package/dist/convert-to-google-generative-ai-messages.d.ts.map +1 -0
  11. package/dist/convert-to-google-generative-ai-messages.js +195 -0
  12. package/dist/convert-to-google-generative-ai-messages.test.d.ts +2 -0
  13. package/dist/convert-to-google-generative-ai-messages.test.d.ts.map +1 -0
  14. package/dist/convert-to-google-generative-ai-messages.test.js +456 -0
  15. package/dist/get-model-path.d.ts +2 -0
  16. package/dist/get-model-path.d.ts.map +1 -0
  17. package/dist/get-model-path.js +3 -0
  18. package/dist/get-model-path.test.d.ts +2 -0
  19. package/dist/get-model-path.test.d.ts.map +1 -0
  20. package/dist/get-model-path.test.js +11 -0
  21. package/dist/google-error.d.ts +12 -0
  22. package/dist/google-error.d.ts.map +1 -0
  23. package/dist/google-error.js +13 -0
  24. package/dist/google-generative-ai-embedding-model.d.ts +21 -0
  25. package/dist/google-generative-ai-embedding-model.d.ts.map +1 -0
  26. package/dist/google-generative-ai-embedding-model.js +88 -0
  27. package/dist/google-generative-ai-embedding-model.test.d.ts +2 -0
  28. package/dist/google-generative-ai-embedding-model.test.d.ts.map +1 -0
  29. package/dist/google-generative-ai-embedding-model.test.js +148 -0
  30. package/dist/google-generative-ai-embedding-options.d.ts +8 -0
  31. package/dist/google-generative-ai-embedding-options.d.ts.map +1 -0
  32. package/dist/google-generative-ai-embedding-options.js +33 -0
  33. package/dist/google-generative-ai-image-model.d.ts +31 -0
  34. package/dist/google-generative-ai-image-model.d.ts.map +1 -0
  35. package/dist/google-generative-ai-image-model.js +96 -0
  36. package/dist/google-generative-ai-image-model.test.d.ts +2 -0
  37. package/dist/google-generative-ai-image-model.test.d.ts.map +1 -0
  38. package/dist/google-generative-ai-image-model.test.js +252 -0
  39. package/dist/google-generative-ai-image-settings.d.ts +8 -0
  40. package/dist/google-generative-ai-image-settings.d.ts.map +1 -0
  41. package/dist/google-generative-ai-image-settings.js +1 -0
  42. package/dist/google-generative-ai-language-model.d.ts +183 -0
  43. package/dist/google-generative-ai-language-model.d.ts.map +1 -0
  44. package/dist/google-generative-ai-language-model.js +1001 -0
  45. package/dist/google-generative-ai-language-model.test.d.ts +2 -0
  46. package/dist/google-generative-ai-language-model.test.d.ts.map +1 -0
  47. package/dist/google-generative-ai-language-model.test.js +3463 -0
  48. package/dist/google-generative-ai-options.d.ts +37 -0
  49. package/dist/google-generative-ai-options.d.ts.map +1 -0
  50. package/dist/google-generative-ai-options.js +149 -0
  51. package/dist/google-generative-ai-prompt.d.ts +52 -0
  52. package/dist/google-generative-ai-prompt.d.ts.map +1 -0
  53. package/dist/google-generative-ai-prompt.js +1 -0
  54. package/dist/google-prepare-tools.d.ts +27 -0
  55. package/dist/google-prepare-tools.d.ts.map +1 -0
  56. package/dist/google-prepare-tools.js +219 -0
  57. package/dist/google-prepare-tools.test.d.ts +2 -0
  58. package/dist/google-prepare-tools.test.d.ts.map +1 -0
  59. package/dist/google-prepare-tools.test.js +447 -0
  60. package/dist/google-provider.d.ts +65 -0
  61. package/dist/google-provider.d.ts.map +1 -0
  62. package/dist/google-provider.js +74 -0
  63. package/dist/google-provider.test.d.ts +2 -0
  64. package/dist/google-provider.test.d.ts.map +1 -0
  65. package/dist/google-provider.test.js +234 -0
  66. package/dist/google-supported-file-url.d.ts +2 -0
  67. package/dist/google-supported-file-url.d.ts.map +1 -0
  68. package/dist/google-supported-file-url.js +13 -0
  69. package/dist/google-supported-file-url.test.d.ts +2 -0
  70. package/dist/google-supported-file-url.test.d.ts.map +1 -0
  71. package/dist/google-supported-file-url.test.js +45 -0
  72. package/dist/google-tools.d.ts +76 -0
  73. package/dist/google-tools.d.ts.map +1 -0
  74. package/dist/google-tools.js +65 -0
  75. package/dist/index.d.mts +326 -0
  76. package/dist/index.d.ts +9 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +2 -0
  79. package/dist/index.js.map +1 -0
  80. package/dist/index.mjs +2172 -0
  81. package/dist/index.mjs.map +1 -0
  82. package/dist/internal/index.d.mts +262 -0
  83. package/dist/internal/index.d.ts +4 -0
  84. package/dist/internal/index.d.ts.map +1 -0
  85. package/dist/internal/index.js +2 -0
  86. package/dist/internal/index.js.map +1 -0
  87. package/dist/internal/index.mjs +1810 -0
  88. package/dist/internal/index.mjs.map +1 -0
  89. package/dist/map-google-generative-ai-finish-reason.d.ts +6 -0
  90. package/dist/map-google-generative-ai-finish-reason.d.ts.map +1 -0
  91. package/dist/map-google-generative-ai-finish-reason.js +22 -0
  92. package/dist/tool/code-execution.d.ts +17 -0
  93. package/dist/tool/code-execution.d.ts.map +1 -0
  94. package/dist/tool/code-execution.js +25 -0
  95. package/dist/tool/enterprise-web-search.d.ts +2 -0
  96. package/dist/tool/enterprise-web-search.d.ts.map +1 -0
  97. package/dist/tool/enterprise-web-search.js +8 -0
  98. package/dist/tool/file-search.d.ts +16 -0
  99. package/dist/tool/file-search.d.ts.map +1 -0
  100. package/dist/tool/file-search.js +33 -0
  101. package/dist/tool/google-maps.d.ts +2 -0
  102. package/dist/tool/google-maps.d.ts.map +1 -0
  103. package/dist/tool/google-maps.js +9 -0
  104. package/dist/tool/google-search.d.ts +14 -0
  105. package/dist/tool/google-search.d.ts.map +1 -0
  106. package/dist/tool/google-search.js +15 -0
  107. package/dist/tool/url-context.d.ts +2 -0
  108. package/dist/tool/url-context.d.ts.map +1 -0
  109. package/dist/tool/url-context.js +7 -0
  110. package/dist/tool/vertex-rag-store.d.ts +16 -0
  111. package/dist/tool/vertex-rag-store.d.ts.map +1 -0
  112. package/dist/tool/vertex-rag-store.js +17 -0
  113. package/dist/version.d.ts +2 -0
  114. package/dist/version.d.ts.map +1 -0
  115. package/dist/version.js +3 -0
  116. package/internal.d.ts +1 -0
  117. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=convert-json-schema-to-openapi-schema.test.d.ts.map
@@ -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":""}