Skip to content

Commit 64823c5

Browse files
committed
feat: add AI spreadsheet processor (box/box-openapi#533)
1 parent 868e2fe commit 64823c5

File tree

3 files changed

+97
-1
lines changed

3 files changed

+97
-1
lines changed

.codegen.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "engineHash": "fc1155c", "specHash": "83a5340", "version": "1.16.0" }
1+
{ "engineHash": "fc1155c", "specHash": "b5422f4", "version": "1.16.0" }

src/schemas/aiAgentAsk.generated.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ import { serializeAiAgentLongTextTool } from './aiAgentLongTextTool.generated.js
22
import { deserializeAiAgentLongTextTool } from './aiAgentLongTextTool.generated.js';
33
import { serializeAiAgentBasicTextTool } from './aiAgentBasicTextTool.generated.js';
44
import { deserializeAiAgentBasicTextTool } from './aiAgentBasicTextTool.generated.js';
5+
import { serializeAiAgentSpreadsheetTool } from './aiAgentSpreadsheetTool.generated.js';
6+
import { deserializeAiAgentSpreadsheetTool } from './aiAgentSpreadsheetTool.generated.js';
57
import { AiAgentLongTextTool } from './aiAgentLongTextTool.generated.js';
68
import { AiAgentBasicTextTool } from './aiAgentBasicTextTool.generated.js';
9+
import { AiAgentSpreadsheetTool } from './aiAgentSpreadsheetTool.generated.js';
710
import { BoxSdkError } from '../box/errors.js';
811
import { SerializedData } from '../serialization/json.js';
912
import { sdIsEmpty } from '../serialization/json.js';
@@ -19,6 +22,7 @@ export class AiAgentAsk {
1922
readonly type: AiAgentAskTypeField = 'ai_agent_ask' as AiAgentAskTypeField;
2023
readonly longText?: AiAgentLongTextTool;
2124
readonly basicText?: AiAgentBasicTextTool;
25+
readonly spreadsheet?: AiAgentSpreadsheetTool;
2226
readonly longTextMulti?: AiAgentLongTextTool;
2327
readonly basicTextMulti?: AiAgentBasicTextTool;
2428
readonly basicImage?: AiAgentBasicTextTool;
@@ -36,6 +40,9 @@ export class AiAgentAsk {
3640
if (fields.basicText !== undefined) {
3741
this.basicText = fields.basicText;
3842
}
43+
if (fields.spreadsheet !== undefined) {
44+
this.spreadsheet = fields.spreadsheet;
45+
}
3946
if (fields.longTextMulti !== undefined) {
4047
this.longTextMulti = fields.longTextMulti;
4148
}
@@ -59,6 +66,7 @@ export interface AiAgentAskInput {
5966
readonly type?: AiAgentAskTypeField;
6067
readonly longText?: AiAgentLongTextTool;
6168
readonly basicText?: AiAgentBasicTextTool;
69+
readonly spreadsheet?: AiAgentSpreadsheetTool;
6270
readonly longTextMulti?: AiAgentLongTextTool;
6371
readonly basicTextMulti?: AiAgentBasicTextTool;
6472
readonly basicImage?: AiAgentBasicTextTool;
@@ -89,6 +97,10 @@ export function serializeAiAgentAsk(val: AiAgentAsk): SerializedData {
8997
val.basicText == void 0
9098
? val.basicText
9199
: serializeAiAgentBasicTextTool(val.basicText),
100+
['spreadsheet']:
101+
val.spreadsheet == void 0
102+
? val.spreadsheet
103+
: serializeAiAgentSpreadsheetTool(val.spreadsheet),
92104
['long_text_multi']:
93105
val.longTextMulti == void 0
94106
? val.longTextMulti
@@ -125,6 +137,10 @@ export function deserializeAiAgentAsk(val: SerializedData): AiAgentAsk {
125137
val.basic_text == void 0
126138
? void 0
127139
: deserializeAiAgentBasicTextTool(val.basic_text);
140+
const spreadsheet: undefined | AiAgentSpreadsheetTool =
141+
val.spreadsheet == void 0
142+
? void 0
143+
: deserializeAiAgentSpreadsheetTool(val.spreadsheet);
128144
const longTextMulti: undefined | AiAgentLongTextTool =
129145
val.long_text_multi == void 0
130146
? void 0
@@ -145,6 +161,7 @@ export function deserializeAiAgentAsk(val: SerializedData): AiAgentAsk {
145161
type: type,
146162
longText: longText,
147163
basicText: basicText,
164+
spreadsheet: spreadsheet,
148165
longTextMulti: longTextMulti,
149166
basicTextMulti: basicTextMulti,
150167
basicImage: basicImage,
@@ -163,6 +180,10 @@ export function serializeAiAgentAskInput(val: AiAgentAskInput): SerializedData {
163180
val.basicText == void 0
164181
? val.basicText
165182
: serializeAiAgentBasicTextTool(val.basicText),
183+
['spreadsheet']:
184+
val.spreadsheet == void 0
185+
? val.spreadsheet
186+
: serializeAiAgentSpreadsheetTool(val.spreadsheet),
166187
['long_text_multi']:
167188
val.longTextMulti == void 0
168189
? val.longTextMulti
@@ -197,6 +218,10 @@ export function deserializeAiAgentAskInput(
197218
val.basic_text == void 0
198219
? void 0
199220
: deserializeAiAgentBasicTextTool(val.basic_text);
221+
const spreadsheet: undefined | AiAgentSpreadsheetTool =
222+
val.spreadsheet == void 0
223+
? void 0
224+
: deserializeAiAgentSpreadsheetTool(val.spreadsheet);
200225
const longTextMulti: undefined | AiAgentLongTextTool =
201226
val.long_text_multi == void 0
202227
? void 0
@@ -217,6 +242,7 @@ export function deserializeAiAgentAskInput(
217242
type: type,
218243
longText: longText,
219244
basicText: basicText,
245+
spreadsheet: spreadsheet,
220246
longTextMulti: longTextMulti,
221247
basicTextMulti: basicTextMulti,
222248
basicImage: basicImage,
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import { serializeAiLlmEndpointParams } from './aiLlmEndpointParams.generated.js';
2+
import { deserializeAiLlmEndpointParams } from './aiLlmEndpointParams.generated.js';
3+
import { AiLlmEndpointParams } from './aiLlmEndpointParams.generated.js';
4+
import { BoxSdkError } from '../box/errors.js';
5+
import { SerializedData } from '../serialization/json.js';
6+
import { sdIsEmpty } from '../serialization/json.js';
7+
import { sdIsBoolean } from '../serialization/json.js';
8+
import { sdIsNumber } from '../serialization/json.js';
9+
import { sdIsString } from '../serialization/json.js';
10+
import { sdIsList } from '../serialization/json.js';
11+
import { sdIsMap } from '../serialization/json.js';
12+
export interface AiAgentSpreadsheetTool {
13+
/**
14+
* The model used for the AI agent for spreadsheets. For specific model values, see the [available models list](g://box-ai/supported-models). */
15+
readonly model?: string;
16+
/**
17+
* The number of tokens for completion. */
18+
readonly numTokensForCompletion?: number;
19+
readonly llmEndpointParams?: AiLlmEndpointParams;
20+
readonly rawData?: SerializedData;
21+
}
22+
export function serializeAiAgentSpreadsheetTool(
23+
val: AiAgentSpreadsheetTool,
24+
): SerializedData {
25+
return {
26+
['model']: val.model,
27+
['num_tokens_for_completion']: val.numTokensForCompletion,
28+
['llm_endpoint_params']:
29+
val.llmEndpointParams == void 0
30+
? val.llmEndpointParams
31+
: serializeAiLlmEndpointParams(val.llmEndpointParams),
32+
};
33+
}
34+
export function deserializeAiAgentSpreadsheetTool(
35+
val: SerializedData,
36+
): AiAgentSpreadsheetTool {
37+
if (!sdIsMap(val)) {
38+
throw new BoxSdkError({
39+
message: 'Expecting a map for "AiAgentSpreadsheetTool"',
40+
});
41+
}
42+
if (!(val.model == void 0) && !sdIsString(val.model)) {
43+
throw new BoxSdkError({
44+
message: 'Expecting string for "model" of type "AiAgentSpreadsheetTool"',
45+
});
46+
}
47+
const model: undefined | string = val.model == void 0 ? void 0 : val.model;
48+
if (
49+
!(val.num_tokens_for_completion == void 0) &&
50+
!sdIsNumber(val.num_tokens_for_completion)
51+
) {
52+
throw new BoxSdkError({
53+
message:
54+
'Expecting number for "num_tokens_for_completion" of type "AiAgentSpreadsheetTool"',
55+
});
56+
}
57+
const numTokensForCompletion: undefined | number =
58+
val.num_tokens_for_completion == void 0
59+
? void 0
60+
: val.num_tokens_for_completion;
61+
const llmEndpointParams: undefined | AiLlmEndpointParams =
62+
val.llm_endpoint_params == void 0
63+
? void 0
64+
: deserializeAiLlmEndpointParams(val.llm_endpoint_params);
65+
return {
66+
model: model,
67+
numTokensForCompletion: numTokensForCompletion,
68+
llmEndpointParams: llmEndpointParams,
69+
} satisfies AiAgentSpreadsheetTool;
70+
}

0 commit comments

Comments
 (0)