Skip to content

Commit 68a93bf

Browse files
Merge pull request #3465 from quadratichq/qa
QA Sept 19th
2 parents 431b7ea + 3820e84 commit 68a93bf

File tree

86 files changed

+665
-387
lines changed

Some content is hidden

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

86 files changed

+665
-387
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ concurrency:
1616

1717
jobs:
1818
test_rust:
19-
runs-on: blacksmith-2vcpu-ubuntu-2404
19+
runs-on: ${{ matrix.runner }}
2020
timeout-minutes: 30
2121
strategy:
2222
fail-fast: false
@@ -29,14 +29,19 @@ jobs:
2929
- rust-shared
3030
include:
3131
- package: core
32+
runner: blacksmith-2vcpu-ubuntu-2404
3233
test_command: "npm run test"
3334
- package: multiplayer
35+
runner: blacksmith-2vcpu-ubuntu-2404
3436
test_command: "npm run docker:test"
3537
- package: files
38+
runner: blacksmith-2vcpu-ubuntu-2404
3639
test_command: "npm run docker:test"
3740
- package: connection
41+
runner: blacksmith-2vcpu-ubuntu-2404
3842
test_command: "npm run docker:test"
3943
- package: rust-shared
44+
runner: blacksmith-4vcpu-ubuntu-2404
4045
test_command: "npm run docker:test"
4146
steps:
4247
- name: Checkout code

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"acked",
66
"actix",
77
"allocvec",
8+
"ARGB",
89
"authkit",
910
"autoclean",
1011
"autoincrement",
@@ -62,6 +63,7 @@
6263
"elif",
6364
"Embedder",
6465
"endregion",
66+
"EOMONTH",
6567
"EXISTINGSHEET",
6668
"expressjwt",
6769
"fholzer",
@@ -71,6 +73,8 @@
7173
"fontfaceobserver",
7274
"fontkit",
7375
"fontobject",
76+
"fract",
77+
"fullmatch",
7478
"Fuzzysort",
7579
"geminiai",
7680
"genai",
@@ -185,6 +189,7 @@
185189
"smallvec",
186190
"smtps",
187191
"Southborough",
192+
"Spacebar",
188193
"Spannable",
189194
"sqlcmd",
190195
"sqlservr",
@@ -220,6 +225,7 @@
220225
"Westborough",
221226
"workos",
222227
"XLOOKUP",
228+
"Xlsb",
223229
"xlsxwriter",
224230
"xyxy",
225231
"zstd"

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ edition = "2024"
1515
description = "Infinite data grid with Python, JavaScript, and SQL built-in"
1616
repository = "https://github.com/quadratichq/quadratic"
1717
license-file = "LICENSE"
18-
version = "0.19.2"
18+
version = "0.20.0"
1919

2020

2121
[profile.release]

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.19.2
1+
0.20.0

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "quadratic",
3-
"version": "0.19.2",
3+
"version": "0.20.0",
44
"author": {
55
"name": "David Kircos",
66
"email": "david@quadratichq.com",

quadratic-api/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "quadratic-api",
3-
"version": "0.19.2",
3+
"version": "0.20.0",
44
"description": "",
55
"main": "index.js",
66
"scripts": {
@@ -62,7 +62,7 @@
6262
"mixpanel": "^0.18.1",
6363
"multer": "^2.0.0",
6464
"multer-s3": "^3.0.1",
65-
"openai": "5.12.2",
65+
"openai": "5.23.0",
6666
"raindrop-ai": "^0.0.59",
6767
"stripe": "^14.16.0",
6868
"supertest": "^6.3.3",

quadratic-api/src/ai/handler/ai.handler.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ import {
3232
azureOpenAI,
3333
baseten,
3434
bedrock,
35-
bedrock_anthropic,
35+
bedrockAnthropic,
3636
fireworks,
3737
geminiai,
38-
open_router,
3938
openai,
40-
vertex_anthropic,
39+
openRouter,
4140
vertexai,
41+
vertexAnthropic,
4242
xai,
4343
} from '../providers';
4444
import { handleAnthropicRequest } from './anthropic.handler';
@@ -63,7 +63,7 @@ export const handleAIRequest = async (
6363
args,
6464
isOnPaidPlan,
6565
exceededBillingLimit,
66-
vertex_anthropic,
66+
vertexAnthropic,
6767
response
6868
);
6969
} else if (isBedrockAnthropicModel(modelKey)) {
@@ -72,7 +72,7 @@ export const handleAIRequest = async (
7272
args,
7373
isOnPaidPlan,
7474
exceededBillingLimit,
75-
bedrock_anthropic,
75+
bedrockAnthropic,
7676
response
7777
);
7878
} else if (isAnthropicModel(modelKey)) {
@@ -94,7 +94,7 @@ export const handleAIRequest = async (
9494
response
9595
);
9696
} else if (isAzureOpenAIModel(modelKey)) {
97-
parsedResponse = await handleOpenAIChatCompletionsRequest(
97+
parsedResponse = await handleOpenAIResponsesRequest(
9898
modelKey,
9999
args,
100100
isOnPaidPlan,
@@ -135,7 +135,7 @@ export const handleAIRequest = async (
135135
args,
136136
isOnPaidPlan,
137137
exceededBillingLimit,
138-
open_router,
138+
openRouter,
139139
response
140140
);
141141
} else if (isVertexAIModel(modelKey)) {

quadratic-api/src/ai/handler/openai.responses.handler.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@ import type {
55
ResponseCreateParamsStreaming,
66
} from 'openai/resources/responses/responses';
77
import { getModelFromModelKey, getModelOptions } from 'quadratic-shared/ai/helpers/model.helper';
8-
import type { AIRequestHelperArgs, OpenAIModelKey, ParsedAIResponse } from 'quadratic-shared/typesAndSchemasAI';
8+
import type {
9+
AIRequestHelperArgs,
10+
AzureOpenAIModelKey,
11+
OpenAIModelKey,
12+
ParsedAIResponse,
13+
} from 'quadratic-shared/typesAndSchemasAI';
914
import {
1015
getOpenAIResponsesApiArgs,
1116
parseOpenAIResponsesResponse,
1217
parseOpenAIResponsesStream,
1318
} from '../helpers/openai.responses.helper';
1419

1520
export const handleOpenAIResponsesRequest = async (
16-
modelKey: OpenAIModelKey,
21+
modelKey: OpenAIModelKey | AzureOpenAIModelKey,
1722
args: AIRequestHelperArgs,
1823
isOnPaidPlan: boolean,
1924
exceededBillingLimit: boolean,

quadratic-api/src/ai/helpers/anthropic.helper.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ export async function parseAnthropicStream(
397397
);
398398

399399
if (responseMessage.content.length === 0 && responseMessage.toolCalls.length === 0) {
400-
responseMessage.content.push(createTextContent('Please try again.'));
400+
throw new Error('Empty response');
401401
}
402402

403403
if (responseMessage.toolCalls.some((toolCall) => toolCall.loading)) {
@@ -470,7 +470,7 @@ export function parseAnthropicResponse(
470470
});
471471

472472
if (responseMessage.content.length === 0 && responseMessage.toolCalls.length === 0) {
473-
responseMessage.content.push(createTextContent('Please try again.'));
473+
throw new Error('Empty response');
474474
}
475475

476476
response?.json(responseMessage);

quadratic-api/src/ai/helpers/bedrock.helper.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ export async function parseBedrockStream(
266266
responseMessage.content = responseMessage.content.filter((content) => content.text !== '');
267267

268268
if (responseMessage.content.length === 0 && responseMessage.toolCalls.length === 0) {
269-
responseMessage.content.push(createTextContent('Please try again.'));
269+
throw new Error('Empty response');
270270
}
271271

272272
if (responseMessage.toolCalls.some((toolCall) => toolCall.loading)) {
@@ -317,7 +317,7 @@ export function parseBedrockResponse(
317317
});
318318

319319
if (responseMessage.content.length === 0 && responseMessage.toolCalls.length === 0) {
320-
responseMessage.content.push(createTextContent('Please try again.'));
320+
throw new Error('Empty response');
321321
}
322322

323323
response?.json(responseMessage);

0 commit comments

Comments
 (0)