Skip to content

Commit af992b8

Browse files
committed
Merge branch 'main' into dl/search-grounding
2 parents 990ba1b + 7fb64dd commit af992b8

File tree

105 files changed

+2927
-377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+2927
-377
lines changed

.changeset/spotty-ghosts-kneel.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/tricky-years-pump.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug_report_v2.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ body:
5858
description: Select the Firebase product(s) relevant to your issue. You can select multiple options in the dropdown.
5959
multiple: true
6060
options:
61+
- AI
6162
- Analytics
6263
- AppCheck
6364
- Auth
@@ -72,7 +73,6 @@ body:
7273
- Performance
7374
- Remote-Config
7475
- Storage
75-
- VertexAI
7676
validations:
7777
required: true
7878
- type: textarea

.github/workflows/e2e-test.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ jobs:
3030

3131
defaults:
3232
run:
33-
# Run any command steps in the /e2e subdir
34-
working-directory: './e2e'
33+
# Run any command steps in the /e2e/smoke-tests subdir
34+
working-directory: './e2e/smoke-tests'
3535

3636
steps:
3737
- name: Checkout Repo
@@ -53,7 +53,9 @@ jobs:
5353
- name: Poll npm until version to test is available for install
5454
run: |
5555
echo "Polling npm for firebase@${{ github.event.client_payload.versionOrTag }}"
56-
node ../scripts/release/poll-npm-publish.js
56+
node ./scripts/release/poll-npm-publish.js
57+
# run in root
58+
working-directory: '.'
5759
env:
5860
VERSION: ${{ github.event.client_payload.versionOrTag }}
5961
- name: Yarn install

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,4 @@ vertexai-sdk-test-data
103103
mocks-lookup.ts
104104

105105
# temp changeset output
106-
changeset-temp.json
106+
changeset-temp.json

.vscode/launch.json

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"type": "node",
1010
"request": "launch",
1111
"program": "${workspaceFolder}/node_modules/.bin/_mocha",
12-
"cwd": "${workspaceRoot}/packages/vertexai",
12+
"cwd": "${workspaceRoot}/packages/ai",
1313
"args": [
1414
"--require",
1515
"ts-node/register",
@@ -24,6 +24,26 @@
2424
},
2525
"sourceMaps": true
2626
},
27+
{
28+
"name": "AI Integration Tests (node)",
29+
"type": "node",
30+
"request": "launch",
31+
"program": "${workspaceFolder}/node_modules/.bin/_mocha",
32+
"cwd": "${workspaceRoot}/packages/ai",
33+
"args": [
34+
"--require",
35+
"ts-node/register",
36+
"--require",
37+
"src/index.node.ts",
38+
"--timeout",
39+
"5000",
40+
"integration/**/*.test.ts"
41+
],
42+
"env": {
43+
"TS_NODE_COMPILER_OPTIONS": "{\"module\":\"commonjs\"}"
44+
},
45+
"sourceMaps": true
46+
},
2747
{
2848
"type": "node",
2949
"request": "launch",

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ and follow the instructions to login.
143143

144144
For more information, visit https://firebase.google.com/docs/storage/web/download-files#cors_configuration
145145

146+
Then, make sure you have anonymous sign-in provider enabled:
147+
146148
#### Authentication Support
147149

148150
Visit the authentication config in your project and enable the `Anonymous`

common/api-review/ai.api.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,9 @@ export abstract class Schema implements SchemaInterface {
813813
format?: string;
814814
// (undocumented)
815815
static integer(integerParams?: SchemaParams): IntegerSchema;
816+
items?: SchemaInterface;
817+
maxItems?: number;
818+
minItems?: number;
816819
nullable: boolean;
817820
// (undocumented)
818821
static number(numberParams?: SchemaParams): NumberSchema;
@@ -855,7 +858,9 @@ export interface SchemaShared<T> {
855858
format?: string;
856859
items?: T;
857860
maximum?: number;
861+
maxItems?: number;
858862
minimum?: number;
863+
minItems?: number;
859864
nullable?: boolean;
860865
properties?: {
861866
[k: string]: T;

docs-devsite/ai.schema.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ export declare abstract class Schema implements SchemaInterface
3232
| [description](./ai.schema.md#schemadescription) | | string | Optional. The description of the property. |
3333
| [example](./ai.schema.md#schemaexample) | | unknown | Optional. The example of the property. |
3434
| [format](./ai.schema.md#schemaformat) | | string | Optional. The format of the property. Supported formats:<br/> <ul> <li>for NUMBER type: "float", "double"</li> <li>for INTEGER type: "int32", "int64"</li> <li>for STRING type: "email", "byte", etc</li> </ul> |
35+
| [items](./ai.schema.md#schemaitems) | | [SchemaInterface](./ai.schemainterface.md#schemainterface_interface) | Optional. The items of the property. |
36+
| [maxItems](./ai.schema.md#schemamaxitems) | | number | The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](./ai.md#schematypearray_enummember)<!-- -->. |
37+
| [minItems](./ai.schema.md#schemaminitems) | | number | The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](./ai.md#schematypearray_enummember)<!-- -->. |
3538
| [nullable](./ai.schema.md#schemanullable) | | boolean | Optional. Whether the property is nullable. Defaults to false. |
3639
| [type](./ai.schema.md#schematype) | | [SchemaType](./ai.md#schematype) | Optional. The type of the property. [SchemaType](./ai.md#schematype)<!-- -->. |
3740
@@ -93,6 +96,36 @@ Optional. The format of the property. Supported formats:<br/> <ul> <li>for NUMBE
9396
format?: string;
9497
```
9598
99+
## Schema.items
100+
101+
Optional. The items of the property.
102+
103+
<b>Signature:</b>
104+
105+
```typescript
106+
items?: SchemaInterface;
107+
```
108+
109+
## Schema.maxItems
110+
111+
The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](./ai.md#schematypearray_enummember)<!-- -->.
112+
113+
<b>Signature:</b>
114+
115+
```typescript
116+
maxItems?: number;
117+
```
118+
119+
## Schema.minItems
120+
121+
The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](./ai.md#schematypearray_enummember)<!-- -->.
122+
123+
<b>Signature:</b>
124+
125+
```typescript
126+
minItems?: number;
127+
```
128+
96129
## Schema.nullable
97130
98131
Optional. Whether the property is nullable. Defaults to false.

docs-devsite/ai.schemashared.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ export interface SchemaShared<T>
2828
| [format](./ai.schemashared.md#schemasharedformat) | string | Optional. The format of the property. When using the Gemini Developer API ([GoogleAIBackend](./ai.googleaibackend.md#googleaibackend_class)<!-- -->), this must be either <code>'enum'</code> or <code>'date-time'</code>, otherwise requests will fail. |
2929
| [items](./ai.schemashared.md#schemashareditems) | T | Optional. The items of the property. |
3030
| [maximum](./ai.schemashared.md#schemasharedmaximum) | number | The maximum value of a numeric type. |
31+
| [maxItems](./ai.schemashared.md#schemasharedmaxitems) | number | The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](./ai.md#schematypearray_enummember)<!-- -->. |
3132
| [minimum](./ai.schemashared.md#schemasharedminimum) | number | The minimum value of a numeric type. |
33+
| [minItems](./ai.schemashared.md#schemasharedminitems) | number | The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](./ai.md#schematypearray_enummember)<!-- -->. |
3234
| [nullable](./ai.schemashared.md#schemasharednullable) | boolean | Optional. Whether the property is nullable. |
3335
| [properties](./ai.schemashared.md#schemasharedproperties) | { \[k: string\]: T; } | Optional. Map of <code>Schema</code> objects. |
3436
| [propertyOrdering](./ai.schemashared.md#schemasharedpropertyordering) | string\[\] | A hint suggesting the order in which the keys should appear in the generated JSON string. |
@@ -94,6 +96,16 @@ The maximum value of a numeric type.
9496
maximum?: number;
9597
```
9698

99+
## SchemaShared.maxItems
100+
101+
The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](./ai.md#schematypearray_enummember)<!-- -->.
102+
103+
<b>Signature:</b>
104+
105+
```typescript
106+
maxItems?: number;
107+
```
108+
97109
## SchemaShared.minimum
98110

99111
The minimum value of a numeric type.
@@ -104,6 +116,16 @@ The minimum value of a numeric type.
104116
minimum?: number;
105117
```
106118

119+
## SchemaShared.minItems
120+
121+
The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](./ai.md#schematypearray_enummember)<!-- -->.
122+
123+
<b>Signature:</b>
124+
125+
```typescript
126+
minItems?: number;
127+
```
128+
107129
## SchemaShared.nullable
108130

109131
Optional. Whether the property is nullable.

0 commit comments

Comments
 (0)