@superinterface/server 1.6.0 → 1.7.0
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +2 -0
- package/.next/build-manifest.json +2 -2
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_btwyo7 +1 -1
- package/.next/fallback-build-manifest.json +2 -2
- package/.next/routes-manifest.json +17 -0
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/api/assistants/[assistantId]/tools/[toolId]/route/app-build-manifest.json +10 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/[toolId]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/[toolId]/route/build-manifest.json +16 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/[toolId]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/[toolId]/route.js +8 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/[toolId]/route.js.map +5 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/[toolId]/route.js.nft.json +1 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/[toolId]/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/route/app-build-manifest.json +10 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/route/build-manifest.json +16 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/route.js +8 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/route.js.map +5 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/route.js.nft.json +1 -0
- package/.next/server/app/api/assistants/[assistantId]/tools/route_client-reference-manifest.js +2 -0
- package/.next/server/app/api/files/[fileId]/contents/route.js +1 -1
- package/.next/server/app/api/files/[fileId]/contents/route.js.nft.json +1 -1
- package/.next/server/app/api/files/route.js +1 -1
- package/.next/server/app/api/files/route.js.nft.json +1 -1
- package/.next/server/app/api/messages/route.js +1 -1
- package/.next/server/app/api/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/[modelProviderId]/assistants/route.js +1 -1
- package/.next/server/app/api/providers/[modelProviderId]/assistants/route.js.nft.json +1 -1
- package/.next/server/app/api/providers/[modelProviderId]/models/route.js +1 -1
- package/.next/server/app/api/providers/[modelProviderId]/models/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/callback/route.js +1 -1
- package/.next/server/app/api/tasks/callback/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +1 -1
- package/.next/server/app-paths-manifest.json +2 -0
- package/.next/server/chunks/[root-of-the-server]__181844d8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__181844d8._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__37a3ac4f._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__37a3ac4f._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__4e536bc0._.js.map +1 -1
- package/.next/server/chunks/{[root-of-the-server]__157cba54._.js → [root-of-the-server]__5715dd1a._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__157cba54._.js.map → [root-of-the-server]__5715dd1a._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__621f572e._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__621f572e._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__76635a77._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__76635a77._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__8b8c4831._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__8b8c4831._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0dd082e7._.js → [root-of-the-server]__e45dec0a._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0dd082e7._.js.map → [root-of-the-server]__e45dec0a._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__b9d6eedd._.js → [root-of-the-server]__faa0774f._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__b9d6eedd._.js.map → [root-of-the-server]__faa0774f._.js.map} +1 -1
- package/.next/server/chunks/c4f00_next_dist_esm_build_templates_app-route_828c7f3d.js.map +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/trace +1 -1
- package/.next/types/routes.d.ts +3 -1
- package/.next/types/validator.ts +18 -0
- package/dist/app/api/assistants/[assistantId]/buildRoute.d.ts.map +1 -1
- package/dist/app/api/assistants/[assistantId]/buildRoute.js +3 -1
- package/dist/app/api/assistants/[assistantId]/tools/[toolId]/buildRoute.d.ts +107 -0
- package/dist/app/api/assistants/[assistantId]/tools/[toolId]/buildRoute.d.ts.map +1 -0
- package/dist/app/api/assistants/[assistantId]/tools/[toolId]/buildRoute.js +165 -0
- package/dist/app/api/assistants/[assistantId]/tools/[toolId]/route.d.ts +107 -0
- package/dist/app/api/assistants/[assistantId]/tools/[toolId]/route.d.ts.map +1 -0
- package/dist/app/api/assistants/[assistantId]/tools/[toolId]/route.js +6 -0
- package/dist/app/api/assistants/[assistantId]/tools/buildRoute.d.ts +74 -0
- package/dist/app/api/assistants/[assistantId]/tools/buildRoute.d.ts.map +1 -0
- package/dist/app/api/assistants/[assistantId]/tools/buildRoute.js +121 -0
- package/dist/app/api/assistants/[assistantId]/tools/route.d.ts +70 -0
- package/dist/app/api/assistants/[assistantId]/tools/route.d.ts.map +1 -0
- package/dist/app/api/assistants/[assistantId]/tools/route.js +5 -0
- package/dist/app/api/assistants/buildRoute.d.ts +18 -18
- package/dist/app/api/assistants/buildRoute.d.ts.map +1 -1
- package/dist/app/api/assistants/buildRoute.js +3 -1
- package/dist/lib/tools/isToolConfigAvailable.d.ts +16 -0
- package/dist/lib/tools/isToolConfigAvailable.d.ts.map +1 -0
- package/dist/lib/tools/isToolConfigAvailable.js +111 -0
- package/dist/lib/tools/serializeApiTool.d.ts +39 -0
- package/dist/lib/tools/serializeApiTool.d.ts.map +1 -0
- package/dist/lib/tools/serializeApiTool.js +35 -0
- package/dist/lib/tools/toolSchema.d.ts +311 -0
- package/dist/lib/tools/toolSchema.d.ts.map +1 -0
- package/dist/lib/tools/toolSchema.js +74 -0
- package/package.json +16 -1
- package/.next/server/chunks/[root-of-the-server]__80c5437f._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__80c5437f._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__aa7dab38._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__aa7dab38._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__aacdf247._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__aacdf247._.js.map +0 -1
- /package/.next/static/{UBq-QQGk_XvgTNFv4eLnz → RTUY1MMVeKHU4_TIxAC_f}/_buildManifest.js +0 -0
- /package/.next/static/{UBq-QQGk_XvgTNFv4eLnz → RTUY1MMVeKHU4_TIxAC_f}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{UBq-QQGk_XvgTNFv4eLnz → RTUY1MMVeKHU4_TIxAC_f}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { NextResponse } from 'next/server';
|
|
2
|
+
import { ApiKeyType, ToolType } from '@prisma/client';
|
|
3
|
+
import { headers } from 'next/headers';
|
|
4
|
+
import { cacheHeaders } from '../../../../../lib/cache/cacheHeaders';
|
|
5
|
+
import { getApiKey } from '../../../../../lib/apiKeys/getApiKey';
|
|
6
|
+
import { serializeApiTool, toolInclude, } from '../../../../../lib/tools/serializeApiTool';
|
|
7
|
+
import { toolSchema } from '../../../../../lib/tools/toolSchema';
|
|
8
|
+
import { isToolConfigAvailable } from '../../../../../lib/tools/isToolConfigAvailable';
|
|
9
|
+
export const buildGET = ({ prisma }) => async (_request, props) => {
|
|
10
|
+
const { assistantId } = await props.params;
|
|
11
|
+
const headersList = await headers();
|
|
12
|
+
const authorization = headersList.get('authorization');
|
|
13
|
+
if (!authorization) {
|
|
14
|
+
return NextResponse.json({ error: 'No authorization header found' }, { status: 400 });
|
|
15
|
+
}
|
|
16
|
+
const privateApiKey = await getApiKey({
|
|
17
|
+
type: ApiKeyType.PRIVATE,
|
|
18
|
+
authorization,
|
|
19
|
+
prisma,
|
|
20
|
+
});
|
|
21
|
+
if (!privateApiKey) {
|
|
22
|
+
return NextResponse.json({ error: 'Invalid api key' }, { status: 400 });
|
|
23
|
+
}
|
|
24
|
+
const assistant = await prisma.assistant.findFirst({
|
|
25
|
+
where: {
|
|
26
|
+
id: assistantId,
|
|
27
|
+
workspaceId: privateApiKey.workspaceId,
|
|
28
|
+
},
|
|
29
|
+
include: {
|
|
30
|
+
tools: {
|
|
31
|
+
include: toolInclude,
|
|
32
|
+
orderBy: {
|
|
33
|
+
createdAt: 'desc',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
if (!assistant) {
|
|
39
|
+
return NextResponse.json({ error: 'No assistant found' }, { status: 400 });
|
|
40
|
+
}
|
|
41
|
+
return NextResponse.json({
|
|
42
|
+
tools: assistant.tools.map((tool) => serializeApiTool({ tool })),
|
|
43
|
+
}, { headers: cacheHeaders });
|
|
44
|
+
};
|
|
45
|
+
export const buildPOST = ({ prisma }) => async (request, props) => {
|
|
46
|
+
var _a, _b, _c;
|
|
47
|
+
const { assistantId } = await props.params;
|
|
48
|
+
const headersList = await headers();
|
|
49
|
+
const authorization = headersList.get('authorization');
|
|
50
|
+
if (!authorization) {
|
|
51
|
+
return NextResponse.json({ error: 'No authorization header found' }, { status: 400 });
|
|
52
|
+
}
|
|
53
|
+
const privateApiKey = await getApiKey({
|
|
54
|
+
authorization,
|
|
55
|
+
type: ApiKeyType.PRIVATE,
|
|
56
|
+
prisma,
|
|
57
|
+
});
|
|
58
|
+
if (!privateApiKey) {
|
|
59
|
+
return NextResponse.json({ error: 'Invalid api key' }, { status: 400 });
|
|
60
|
+
}
|
|
61
|
+
const assistant = await prisma.assistant.findFirst({
|
|
62
|
+
where: {
|
|
63
|
+
id: assistantId,
|
|
64
|
+
workspaceId: privateApiKey.workspaceId,
|
|
65
|
+
},
|
|
66
|
+
include: {
|
|
67
|
+
modelProvider: true,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
if (!assistant) {
|
|
71
|
+
return NextResponse.json({ error: 'No assistant found' }, { status: 400 });
|
|
72
|
+
}
|
|
73
|
+
const body = await request.json();
|
|
74
|
+
const parsed = toolSchema.safeParse(body);
|
|
75
|
+
if (!parsed.success) {
|
|
76
|
+
console.error('Tool creation error:', parsed.error);
|
|
77
|
+
return NextResponse.json({ error: 'Invalid payload' }, { status: 400 });
|
|
78
|
+
}
|
|
79
|
+
const { type } = parsed.data;
|
|
80
|
+
if (!isToolConfigAvailable({
|
|
81
|
+
toolType: type,
|
|
82
|
+
modelProviderType: assistant.modelProvider.type,
|
|
83
|
+
storageProviderType: assistant.storageProviderType,
|
|
84
|
+
})) {
|
|
85
|
+
return NextResponse.json({
|
|
86
|
+
error: `Tool type ${type} is not available for this assistant's provider configuration`,
|
|
87
|
+
}, { status: 400 });
|
|
88
|
+
}
|
|
89
|
+
const typeSpecificCreate = {};
|
|
90
|
+
if (type === ToolType.FILE_SEARCH) {
|
|
91
|
+
typeSpecificCreate.fileSearchTool = {
|
|
92
|
+
create: (_a = parsed.data.fileSearchTool) !== null && _a !== void 0 ? _a : {},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
else if (type === ToolType.WEB_SEARCH) {
|
|
96
|
+
typeSpecificCreate.webSearchTool = { create: {} };
|
|
97
|
+
}
|
|
98
|
+
else if (type === ToolType.CODE_INTERPRETER) {
|
|
99
|
+
typeSpecificCreate.codeInterpreterTool = { create: {} };
|
|
100
|
+
}
|
|
101
|
+
else if (type === ToolType.IMAGE_GENERATION) {
|
|
102
|
+
typeSpecificCreate.imageGenerationTool = {
|
|
103
|
+
create: (_b = parsed.data.imageGenerationTool) !== null && _b !== void 0 ? _b : {},
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
else if (type === ToolType.COMPUTER_USE) {
|
|
107
|
+
typeSpecificCreate.computerUseTool = {
|
|
108
|
+
create: (_c = parsed.data.computerUseTool) !== null && _c !== void 0 ? _c : {},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const tool = await prisma.tool.create({
|
|
112
|
+
data: Object.assign({ type, assistantId: assistant.id }, typeSpecificCreate),
|
|
113
|
+
include: toolInclude,
|
|
114
|
+
});
|
|
115
|
+
return NextResponse.json({
|
|
116
|
+
tool: serializeApiTool({ tool }),
|
|
117
|
+
}, { headers: cacheHeaders });
|
|
118
|
+
};
|
|
119
|
+
export const buildOPTIONS = () => () => NextResponse.json({}, {
|
|
120
|
+
headers: cacheHeaders,
|
|
121
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export declare const GET: (_request: import("next/server").NextRequest, props: {
|
|
2
|
+
params: Promise<{
|
|
3
|
+
assistantId: string;
|
|
4
|
+
}>;
|
|
5
|
+
}) => Promise<import("next/server").NextResponse<{
|
|
6
|
+
error: string;
|
|
7
|
+
}> | import("next/server").NextResponse<{
|
|
8
|
+
tools: {
|
|
9
|
+
createdAt: string;
|
|
10
|
+
updatedAt: string;
|
|
11
|
+
computerUseTool?: {
|
|
12
|
+
displayWidth: number;
|
|
13
|
+
displayHeight: number;
|
|
14
|
+
environment: import("@prisma/client").$Enums.ComputerUseToolEnvironment;
|
|
15
|
+
mcpServerId: string | null;
|
|
16
|
+
} | undefined;
|
|
17
|
+
imageGenerationTool?: {
|
|
18
|
+
model: string;
|
|
19
|
+
quality: import("@prisma/client").$Enums.ImageGenerationToolQuality;
|
|
20
|
+
size: import("@prisma/client").$Enums.ImageGenerationToolSize;
|
|
21
|
+
outputFormat: import("@prisma/client").$Enums.ImageGenerationToolOutputFormat;
|
|
22
|
+
background: import("@prisma/client").$Enums.ImageGenerationToolBackground;
|
|
23
|
+
partialImages: number;
|
|
24
|
+
} | undefined;
|
|
25
|
+
codeInterpreterTool?: {} | undefined;
|
|
26
|
+
webSearchTool?: {} | undefined;
|
|
27
|
+
fileSearchTool?: {
|
|
28
|
+
vectorStoreIds: string[];
|
|
29
|
+
maxNumResults: number;
|
|
30
|
+
} | undefined;
|
|
31
|
+
id: string;
|
|
32
|
+
type: import("@prisma/client").$Enums.ToolType;
|
|
33
|
+
}[];
|
|
34
|
+
}>>;
|
|
35
|
+
export declare const POST: (request: import("next/server").NextRequest, props: {
|
|
36
|
+
params: Promise<{
|
|
37
|
+
assistantId: string;
|
|
38
|
+
}>;
|
|
39
|
+
}) => Promise<import("next/server").NextResponse<{
|
|
40
|
+
error: string;
|
|
41
|
+
}> | import("next/server").NextResponse<{
|
|
42
|
+
tool: {
|
|
43
|
+
createdAt: string;
|
|
44
|
+
updatedAt: string;
|
|
45
|
+
computerUseTool?: {
|
|
46
|
+
displayWidth: number;
|
|
47
|
+
displayHeight: number;
|
|
48
|
+
environment: import("@prisma/client").$Enums.ComputerUseToolEnvironment;
|
|
49
|
+
mcpServerId: string | null;
|
|
50
|
+
} | undefined;
|
|
51
|
+
imageGenerationTool?: {
|
|
52
|
+
model: string;
|
|
53
|
+
quality: import("@prisma/client").$Enums.ImageGenerationToolQuality;
|
|
54
|
+
size: import("@prisma/client").$Enums.ImageGenerationToolSize;
|
|
55
|
+
outputFormat: import("@prisma/client").$Enums.ImageGenerationToolOutputFormat;
|
|
56
|
+
background: import("@prisma/client").$Enums.ImageGenerationToolBackground;
|
|
57
|
+
partialImages: number;
|
|
58
|
+
} | undefined;
|
|
59
|
+
codeInterpreterTool?: {} | undefined;
|
|
60
|
+
webSearchTool?: {} | undefined;
|
|
61
|
+
fileSearchTool?: {
|
|
62
|
+
vectorStoreIds: string[];
|
|
63
|
+
maxNumResults: number;
|
|
64
|
+
} | undefined;
|
|
65
|
+
id: string;
|
|
66
|
+
type: import("@prisma/client").$Enums.ToolType;
|
|
67
|
+
};
|
|
68
|
+
}>>;
|
|
69
|
+
export declare const OPTIONS: () => import("next/server").NextResponse<{}>;
|
|
70
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/app/api/assistants/[assistantId]/tools/route.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuB,CAAA;AAEvC,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAwB,CAAA;AAEzC,eAAO,MAAM,OAAO,8CAAiB,CAAA"}
|
|
@@ -25,53 +25,53 @@ declare const createAssistantSchema: z.ZodEffects<z.ZodObject<{
|
|
|
25
25
|
}>>;
|
|
26
26
|
truncationLastMessagesCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
27
27
|
}, "strip", z.ZodTypeAny, {
|
|
28
|
-
instructions: string;
|
|
29
|
-
description: string;
|
|
30
|
-
modelProviderId: string;
|
|
31
28
|
storageProviderType: "OPENAI" | "AZURE_OPENAI" | "SUPERINTERFACE_CLOUD" | "OPENAI_RESPONSES" | "AZURE_RESPONSES" | "AZURE_AGENTS";
|
|
29
|
+
modelProviderId: string;
|
|
32
30
|
model: string;
|
|
31
|
+
description: string;
|
|
32
|
+
instructions: string;
|
|
33
33
|
codeInterpreterEnabled: boolean;
|
|
34
34
|
fileSearchEnabled: boolean;
|
|
35
|
+
storageProviderAssistantId?: string | null | undefined;
|
|
35
36
|
name?: string | undefined;
|
|
36
37
|
truncationType?: "AUTO" | "LAST_MESSAGES" | "DISABLED" | undefined;
|
|
37
38
|
truncationLastMessagesCount?: number | null | undefined;
|
|
38
|
-
storageProviderAssistantId?: string | null | undefined;
|
|
39
39
|
}, {
|
|
40
|
-
modelProviderId: string;
|
|
41
40
|
storageProviderType: "OPENAI" | "AZURE_OPENAI" | "SUPERINTERFACE_CLOUD" | "OPENAI_RESPONSES" | "AZURE_RESPONSES" | "AZURE_AGENTS";
|
|
41
|
+
modelProviderId: string;
|
|
42
42
|
model: string;
|
|
43
|
+
storageProviderAssistantId?: string | null | undefined;
|
|
43
44
|
name?: string | undefined;
|
|
44
|
-
instructions?: string | undefined;
|
|
45
45
|
description?: string | undefined;
|
|
46
|
-
|
|
47
|
-
truncationLastMessagesCount?: number | null | undefined;
|
|
48
|
-
storageProviderAssistantId?: string | null | undefined;
|
|
46
|
+
instructions?: string | undefined;
|
|
49
47
|
codeInterpreterEnabled?: boolean | undefined;
|
|
50
48
|
fileSearchEnabled?: boolean | undefined;
|
|
49
|
+
truncationType?: "AUTO" | "LAST_MESSAGES" | "DISABLED" | undefined;
|
|
50
|
+
truncationLastMessagesCount?: number | null | undefined;
|
|
51
51
|
}>, {
|
|
52
|
-
instructions: string;
|
|
53
|
-
description: string;
|
|
54
|
-
modelProviderId: string;
|
|
55
52
|
storageProviderType: "OPENAI" | "AZURE_OPENAI" | "SUPERINTERFACE_CLOUD" | "OPENAI_RESPONSES" | "AZURE_RESPONSES" | "AZURE_AGENTS";
|
|
53
|
+
modelProviderId: string;
|
|
56
54
|
model: string;
|
|
55
|
+
description: string;
|
|
56
|
+
instructions: string;
|
|
57
57
|
codeInterpreterEnabled: boolean;
|
|
58
58
|
fileSearchEnabled: boolean;
|
|
59
|
+
storageProviderAssistantId?: string | null | undefined;
|
|
59
60
|
name?: string | undefined;
|
|
60
61
|
truncationType?: "AUTO" | "LAST_MESSAGES" | "DISABLED" | undefined;
|
|
61
62
|
truncationLastMessagesCount?: number | null | undefined;
|
|
62
|
-
storageProviderAssistantId?: string | null | undefined;
|
|
63
63
|
}, {
|
|
64
|
-
modelProviderId: string;
|
|
65
64
|
storageProviderType: "OPENAI" | "AZURE_OPENAI" | "SUPERINTERFACE_CLOUD" | "OPENAI_RESPONSES" | "AZURE_RESPONSES" | "AZURE_AGENTS";
|
|
65
|
+
modelProviderId: string;
|
|
66
66
|
model: string;
|
|
67
|
+
storageProviderAssistantId?: string | null | undefined;
|
|
67
68
|
name?: string | undefined;
|
|
68
|
-
instructions?: string | undefined;
|
|
69
69
|
description?: string | undefined;
|
|
70
|
-
|
|
71
|
-
truncationLastMessagesCount?: number | null | undefined;
|
|
72
|
-
storageProviderAssistantId?: string | null | undefined;
|
|
70
|
+
instructions?: string | undefined;
|
|
73
71
|
codeInterpreterEnabled?: boolean | undefined;
|
|
74
72
|
fileSearchEnabled?: boolean | undefined;
|
|
73
|
+
truncationType?: "AUTO" | "LAST_MESSAGES" | "DISABLED" | undefined;
|
|
74
|
+
truncationLastMessagesCount?: number | null | undefined;
|
|
75
75
|
}>;
|
|
76
76
|
export declare const buildGET: ({ prisma }: {
|
|
77
77
|
prisma: PrismaClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildRoute.d.ts","sourceRoot":"","sources":["../../../../src/app/api/assistants/buildRoute.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCvB,CAAA;AAEJ,eAAO,MAAM,QAAQ,GAClB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CpC,CAAA;AAEH,eAAO,MAAM,SAAS,GACnB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,SAAS,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"buildRoute.d.ts","sourceRoot":"","sources":["../../../../src/app/api/assistants/buildRoute.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCvB,CAAA;AAEJ,eAAO,MAAM,QAAQ,GAClB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CpC,CAAA;AAEH,eAAO,MAAM,SAAS,GACnB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,SAAS,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2GtB,CAAA;AAEH,eAAO,MAAM,YAAY,8BAMtB,CAAA;AAEH,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -99,7 +99,9 @@ export const buildPOST = ({ prisma }) => async (request) => {
|
|
|
99
99
|
? { azureAgentsAgentId: storageProviderAssistantId !== null && storageProviderAssistantId !== void 0 ? storageProviderAssistantId : null }
|
|
100
100
|
: storageProviderType === StorageProviderType.AZURE_RESPONSES
|
|
101
101
|
? { azureResponsesAgentName: storageProviderAssistantId !== null && storageProviderAssistantId !== void 0 ? storageProviderAssistantId : null }
|
|
102
|
-
: { openaiAssistantId: storageProviderAssistantId !== null && storageProviderAssistantId !== void 0 ? storageProviderAssistantId : null })), (truncationType !== undefined && { truncationType })), (truncationLastMessagesCount !== undefined && {
|
|
102
|
+
: { openaiAssistantId: storageProviderAssistantId !== null && storageProviderAssistantId !== void 0 ? storageProviderAssistantId : null })), (truncationType !== undefined && { truncationType })), (truncationLastMessagesCount !== undefined && {
|
|
103
|
+
truncationLastMessagesCount,
|
|
104
|
+
})), { tools: {
|
|
103
105
|
create: [
|
|
104
106
|
...(fileSearchEnabled
|
|
105
107
|
? [
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ModelProviderType, StorageProviderType, ToolType } from '@prisma/client';
|
|
2
|
+
export type ToolConfigAvailability = {
|
|
3
|
+
modelProviderType: ModelProviderType;
|
|
4
|
+
storageProviderType: StorageProviderType;
|
|
5
|
+
};
|
|
6
|
+
export type ToolConfig = {
|
|
7
|
+
type: ToolType;
|
|
8
|
+
availabilities: ToolConfigAvailability[];
|
|
9
|
+
};
|
|
10
|
+
export declare const toolConfigs: ToolConfig[];
|
|
11
|
+
export declare const isToolConfigAvailable: ({ toolType, modelProviderType, storageProviderType, }: {
|
|
12
|
+
toolType: ToolType;
|
|
13
|
+
modelProviderType: ModelProviderType;
|
|
14
|
+
storageProviderType: StorageProviderType;
|
|
15
|
+
}) => boolean;
|
|
16
|
+
//# sourceMappingURL=isToolConfigAvailable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isToolConfigAvailable.d.ts","sourceRoot":"","sources":["../../../src/lib/tools/isToolConfigAvailable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,mBAAmB,EAAE,mBAAmB,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,QAAQ,CAAA;IACd,cAAc,EAAE,sBAAsB,EAAE,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,UAAU,EAsGnC,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,uDAInC;IACD,QAAQ,EAAE,QAAQ,CAAA;IAClB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,mBAAmB,EAAE,mBAAmB,CAAA;CACzC,KAAG,OASH,CAAA"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { ModelProviderType, StorageProviderType, ToolType, } from '@prisma/client';
|
|
2
|
+
export const toolConfigs = [
|
|
3
|
+
{
|
|
4
|
+
type: ToolType.WEB_SEARCH,
|
|
5
|
+
availabilities: [
|
|
6
|
+
{
|
|
7
|
+
modelProviderType: ModelProviderType.ANTHROPIC,
|
|
8
|
+
storageProviderType: StorageProviderType.SUPERINTERFACE_CLOUD,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
modelProviderType: ModelProviderType.OPENAI,
|
|
12
|
+
storageProviderType: StorageProviderType.OPENAI_RESPONSES,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
modelProviderType: ModelProviderType.AZURE_OPENAI,
|
|
16
|
+
storageProviderType: StorageProviderType.AZURE_RESPONSES,
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: ToolType.FILE_SEARCH,
|
|
22
|
+
availabilities: [
|
|
23
|
+
{
|
|
24
|
+
modelProviderType: ModelProviderType.OPENAI,
|
|
25
|
+
storageProviderType: StorageProviderType.OPENAI_RESPONSES,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
modelProviderType: ModelProviderType.AZURE_OPENAI,
|
|
29
|
+
storageProviderType: StorageProviderType.AZURE_RESPONSES,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
modelProviderType: ModelProviderType.OPENAI,
|
|
33
|
+
storageProviderType: StorageProviderType.OPENAI,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
modelProviderType: ModelProviderType.AZURE_OPENAI,
|
|
37
|
+
storageProviderType: StorageProviderType.AZURE_OPENAI,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
modelProviderType: ModelProviderType.AZURE_AI_PROJECT,
|
|
41
|
+
storageProviderType: StorageProviderType.AZURE_AGENTS,
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
type: ToolType.IMAGE_GENERATION,
|
|
47
|
+
availabilities: [
|
|
48
|
+
{
|
|
49
|
+
modelProviderType: ModelProviderType.OPENAI,
|
|
50
|
+
storageProviderType: StorageProviderType.OPENAI_RESPONSES,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
modelProviderType: ModelProviderType.AZURE_OPENAI,
|
|
54
|
+
storageProviderType: StorageProviderType.AZURE_RESPONSES,
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: ToolType.COMPUTER_USE,
|
|
60
|
+
availabilities: [
|
|
61
|
+
{
|
|
62
|
+
modelProviderType: ModelProviderType.ANTHROPIC,
|
|
63
|
+
storageProviderType: StorageProviderType.SUPERINTERFACE_CLOUD,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
modelProviderType: ModelProviderType.OPENAI,
|
|
67
|
+
storageProviderType: StorageProviderType.OPENAI_RESPONSES,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
modelProviderType: ModelProviderType.AZURE_OPENAI,
|
|
71
|
+
storageProviderType: StorageProviderType.AZURE_RESPONSES,
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: ToolType.CODE_INTERPRETER,
|
|
77
|
+
availabilities: [
|
|
78
|
+
{
|
|
79
|
+
modelProviderType: ModelProviderType.ANTHROPIC,
|
|
80
|
+
storageProviderType: StorageProviderType.SUPERINTERFACE_CLOUD,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
modelProviderType: ModelProviderType.OPENAI,
|
|
84
|
+
storageProviderType: StorageProviderType.OPENAI_RESPONSES,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
modelProviderType: ModelProviderType.AZURE_OPENAI,
|
|
88
|
+
storageProviderType: StorageProviderType.AZURE_RESPONSES,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
modelProviderType: ModelProviderType.OPENAI,
|
|
92
|
+
storageProviderType: StorageProviderType.OPENAI,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
modelProviderType: ModelProviderType.AZURE_OPENAI,
|
|
96
|
+
storageProviderType: StorageProviderType.AZURE_OPENAI,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
modelProviderType: ModelProviderType.AZURE_AI_PROJECT,
|
|
100
|
+
storageProviderType: StorageProviderType.AZURE_AGENTS,
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
export const isToolConfigAvailable = ({ toolType, modelProviderType, storageProviderType, }) => {
|
|
106
|
+
const toolConfig = toolConfigs.find((config) => config.type === toolType);
|
|
107
|
+
if (!toolConfig)
|
|
108
|
+
return false;
|
|
109
|
+
return toolConfig.availabilities.some((availability) => availability.modelProviderType === modelProviderType &&
|
|
110
|
+
availability.storageProviderType === storageProviderType);
|
|
111
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Prisma } from '@prisma/client';
|
|
2
|
+
export declare const toolInclude: {
|
|
3
|
+
readonly fileSearchTool: true;
|
|
4
|
+
readonly webSearchTool: true;
|
|
5
|
+
readonly codeInterpreterTool: true;
|
|
6
|
+
readonly imageGenerationTool: true;
|
|
7
|
+
readonly computerUseTool: true;
|
|
8
|
+
};
|
|
9
|
+
export declare const serializeApiTool: ({ tool, }: {
|
|
10
|
+
tool: Prisma.ToolGetPayload<{
|
|
11
|
+
include: typeof toolInclude;
|
|
12
|
+
}>;
|
|
13
|
+
}) => {
|
|
14
|
+
createdAt: string;
|
|
15
|
+
updatedAt: string;
|
|
16
|
+
computerUseTool?: {
|
|
17
|
+
displayWidth: number;
|
|
18
|
+
displayHeight: number;
|
|
19
|
+
environment: import("@prisma/client").$Enums.ComputerUseToolEnvironment;
|
|
20
|
+
mcpServerId: string | null;
|
|
21
|
+
} | undefined;
|
|
22
|
+
imageGenerationTool?: {
|
|
23
|
+
model: string;
|
|
24
|
+
quality: import("@prisma/client").$Enums.ImageGenerationToolQuality;
|
|
25
|
+
size: import("@prisma/client").$Enums.ImageGenerationToolSize;
|
|
26
|
+
outputFormat: import("@prisma/client").$Enums.ImageGenerationToolOutputFormat;
|
|
27
|
+
background: import("@prisma/client").$Enums.ImageGenerationToolBackground;
|
|
28
|
+
partialImages: number;
|
|
29
|
+
} | undefined;
|
|
30
|
+
codeInterpreterTool?: {} | undefined;
|
|
31
|
+
webSearchTool?: {} | undefined;
|
|
32
|
+
fileSearchTool?: {
|
|
33
|
+
vectorStoreIds: string[];
|
|
34
|
+
maxNumResults: number;
|
|
35
|
+
} | undefined;
|
|
36
|
+
id: string;
|
|
37
|
+
type: import("@prisma/client").$Enums.ToolType;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=serializeApiTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeApiTool.d.ts","sourceRoot":"","sources":["../../../src/lib/tools/serializeApiTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,eAAO,MAAM,WAAW;;;;;;CAMd,CAAA;AAEV,eAAO,MAAM,gBAAgB,GAAI,WAE9B;IACD,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC;QAC1B,OAAO,EAAE,OAAO,WAAW,CAAA;KAC5B,CAAC,CAAA;CACH;;;;;;;;;;;;;;;;;;;;;;;;;CAqCC,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export const toolInclude = {
|
|
2
|
+
fileSearchTool: true,
|
|
3
|
+
webSearchTool: true,
|
|
4
|
+
codeInterpreterTool: true,
|
|
5
|
+
imageGenerationTool: true,
|
|
6
|
+
computerUseTool: true,
|
|
7
|
+
};
|
|
8
|
+
export const serializeApiTool = ({ tool, }) => (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ id: tool.id, type: tool.type }, (tool.fileSearchTool
|
|
9
|
+
? {
|
|
10
|
+
fileSearchTool: {
|
|
11
|
+
vectorStoreIds: tool.fileSearchTool.vectorStoreIds,
|
|
12
|
+
maxNumResults: tool.fileSearchTool.maxNumResults,
|
|
13
|
+
},
|
|
14
|
+
}
|
|
15
|
+
: {})), (tool.webSearchTool ? { webSearchTool: {} } : {})), (tool.codeInterpreterTool ? { codeInterpreterTool: {} } : {})), (tool.imageGenerationTool
|
|
16
|
+
? {
|
|
17
|
+
imageGenerationTool: {
|
|
18
|
+
model: tool.imageGenerationTool.model,
|
|
19
|
+
quality: tool.imageGenerationTool.quality,
|
|
20
|
+
size: tool.imageGenerationTool.size,
|
|
21
|
+
outputFormat: tool.imageGenerationTool.outputFormat,
|
|
22
|
+
background: tool.imageGenerationTool.background,
|
|
23
|
+
partialImages: tool.imageGenerationTool.partialImages,
|
|
24
|
+
},
|
|
25
|
+
}
|
|
26
|
+
: {})), (tool.computerUseTool
|
|
27
|
+
? {
|
|
28
|
+
computerUseTool: {
|
|
29
|
+
displayWidth: tool.computerUseTool.displayWidth,
|
|
30
|
+
displayHeight: tool.computerUseTool.displayHeight,
|
|
31
|
+
environment: tool.computerUseTool.environment,
|
|
32
|
+
mcpServerId: tool.computerUseTool.mcpServerId,
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
: {})), { createdAt: tool.createdAt.toISOString(), updatedAt: tool.updatedAt.toISOString() }));
|