@cogitator-ai/openai-compat 21.0.5 → 21.1.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/README.md +260 -130
- package/dist/client/errors.d.ts +14 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +17 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/openai-adapter.d.ts +24 -3
- package/dist/client/openai-adapter.d.ts.map +1 -1
- package/dist/client/openai-adapter.js +105 -31
- package/dist/client/openai-adapter.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/server/middleware/error-handler.d.ts.map +1 -1
- package/dist/server/middleware/error-handler.js +5 -0
- package/dist/server/middleware/error-handler.js.map +1 -1
- package/dist/server/routes/files.d.ts.map +1 -1
- package/dist/server/routes/files.js +12 -7
- package/dist/server/routes/files.js.map +1 -1
- package/dist/server/routes/runs.d.ts.map +1 -1
- package/dist/server/routes/runs.js +14 -6
- package/dist/server/routes/runs.js.map +1 -1
- package/dist/server/routes/shared.d.ts +8 -2
- package/dist/server/routes/shared.d.ts.map +1 -1
- package/dist/server/routes/shared.js +6 -4
- package/dist/server/routes/shared.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/server/routes/runs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/server/routes/runs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAWjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,QAyIjF"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implements OpenAI Runs API endpoints.
|
|
5
5
|
*/
|
|
6
|
+
import { InvalidRequestError } from '../../client/errors.js';
|
|
6
7
|
import { paginate, parseLimit, parseOrder, sendInvalidRequest, sendNotFound } from './shared.js';
|
|
7
8
|
export function registerRunRoutes(fastify, adapter) {
|
|
8
9
|
fastify.post('/v1/threads/:thread_id/runs', async (request, reply) => {
|
|
@@ -18,7 +19,7 @@ export function registerRunRoutes(fastify, adapter) {
|
|
|
18
19
|
run = await adapter.createRun(request.params.thread_id, request.body);
|
|
19
20
|
}
|
|
20
21
|
catch (error) {
|
|
21
|
-
return
|
|
22
|
+
return sendRequestError(reply, error);
|
|
22
23
|
}
|
|
23
24
|
if (request.body.stream) {
|
|
24
25
|
return streamRun(reply, adapter, run.id, 0);
|
|
@@ -42,7 +43,7 @@ export function registerRunRoutes(fastify, adapter) {
|
|
|
42
43
|
}
|
|
43
44
|
catch (error) {
|
|
44
45
|
await adapter.deleteThread(thread.id);
|
|
45
|
-
return
|
|
46
|
+
return sendRequestError(reply, error);
|
|
46
47
|
}
|
|
47
48
|
if (request.body.stream) {
|
|
48
49
|
return streamRun(reply, adapter, run.id, 0);
|
|
@@ -83,7 +84,7 @@ export function registerRunRoutes(fastify, adapter) {
|
|
|
83
84
|
run = adapter.cancelRun(request.params.thread_id, request.params.run_id);
|
|
84
85
|
}
|
|
85
86
|
catch (error) {
|
|
86
|
-
return
|
|
87
|
+
return sendRequestError(reply, error);
|
|
87
88
|
}
|
|
88
89
|
if (!run) {
|
|
89
90
|
return sendNotFound(reply, 'run', request.params.run_id);
|
|
@@ -97,7 +98,7 @@ export function registerRunRoutes(fastify, adapter) {
|
|
|
97
98
|
run = await adapter.submitToolOutputs(request.params.thread_id, request.params.run_id, request.body ?? { tool_outputs: [] });
|
|
98
99
|
}
|
|
99
100
|
catch (error) {
|
|
100
|
-
return
|
|
101
|
+
return sendRequestError(reply, error);
|
|
101
102
|
}
|
|
102
103
|
if (!run) {
|
|
103
104
|
return sendNotFound(reply, 'run', request.params.run_id);
|
|
@@ -108,8 +109,15 @@ export function registerRunRoutes(fastify, adapter) {
|
|
|
108
109
|
return reply.send(run);
|
|
109
110
|
});
|
|
110
111
|
}
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Answer a refused request with 400 and its message; rethrow anything else
|
|
114
|
+
* for the error handler, which hides the details of server failures.
|
|
115
|
+
*/
|
|
116
|
+
function sendRequestError(reply, error) {
|
|
117
|
+
if (error instanceof InvalidRequestError) {
|
|
118
|
+
return sendInvalidRequest(reply, error.message, error.param);
|
|
119
|
+
}
|
|
120
|
+
throw error;
|
|
113
121
|
}
|
|
114
122
|
/**
|
|
115
123
|
* Stream run events as OpenAI-style server-sent events until the run
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/server/routes/runs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/server/routes/runs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import type { FastifyReply } from 'fastify';
|
|
2
2
|
export declare const MAX_LIST_LIMIT = 100;
|
|
3
3
|
export declare const DEFAULT_LIST_LIMIT = 20;
|
|
4
|
+
export interface ListLimitBounds {
|
|
5
|
+
max: number;
|
|
6
|
+
fallback: number;
|
|
7
|
+
}
|
|
8
|
+
/** `GET /v1/files` returns up to 10 000 files per page and all of them by default, as OpenAI does */
|
|
9
|
+
export declare const FILE_LIST_LIMIT: ListLimitBounds;
|
|
4
10
|
export declare function sendNotFound(reply: FastifyReply, resource: string, id: string): FastifyReply<import("fastify").RouteGenericInterface, import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, unknown, import("fastify").FastifySchema, import("fastify").FastifyTypeProviderDefault, unknown>;
|
|
5
11
|
export declare function sendInvalidRequest(reply: FastifyReply, message: string, param?: string): FastifyReply<import("fastify").RouteGenericInterface, import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, unknown, import("fastify").FastifySchema, import("fastify").FastifyTypeProviderDefault, unknown>;
|
|
6
12
|
/**
|
|
7
13
|
* Parse a `limit` query value (query strings arrive as strings). Returns
|
|
8
|
-
* null when the value is not an integer between 1 and
|
|
14
|
+
* null when the value is not an integer between 1 and `bounds.max`.
|
|
9
15
|
*/
|
|
10
|
-
export declare function parseLimit(value: unknown): number | null;
|
|
16
|
+
export declare function parseLimit(value: unknown, bounds?: ListLimitBounds): number | null;
|
|
11
17
|
export declare function parseOrder(value: unknown): 'asc' | 'desc' | null;
|
|
12
18
|
/**
|
|
13
19
|
* Apply OpenAI cursor pagination (`after` / `before` ids) to an ordered list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/server/routes/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,6RAI7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,6RAItF;AAED;;;GAGG;AACH,wBAAgB,UAAU,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/server/routes/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qGAAqG;AACrG,eAAO,MAAM,eAAe,EAAE,eAAmD,CAAC;AAElF,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,6RAI7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,6RAItF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,MAAM,GAAE,eAAuE,GAC9E,MAAM,GAAG,IAAI,CAKf;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAGhE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBvE"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { formatOpenAIError } from '../middleware/error-handler.js';
|
|
2
2
|
export const MAX_LIST_LIMIT = 100;
|
|
3
3
|
export const DEFAULT_LIST_LIMIT = 20;
|
|
4
|
+
/** `GET /v1/files` returns up to 10 000 files per page and all of them by default, as OpenAI does */
|
|
5
|
+
export const FILE_LIST_LIMIT = { max: 10_000, fallback: 10_000 };
|
|
4
6
|
export function sendNotFound(reply, resource, id) {
|
|
5
7
|
return reply
|
|
6
8
|
.status(404)
|
|
@@ -13,13 +15,13 @@ export function sendInvalidRequest(reply, message, param) {
|
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* Parse a `limit` query value (query strings arrive as strings). Returns
|
|
16
|
-
* null when the value is not an integer between 1 and
|
|
18
|
+
* null when the value is not an integer between 1 and `bounds.max`.
|
|
17
19
|
*/
|
|
18
|
-
export function parseLimit(value) {
|
|
20
|
+
export function parseLimit(value, bounds = { max: MAX_LIST_LIMIT, fallback: DEFAULT_LIST_LIMIT }) {
|
|
19
21
|
if (value === undefined || value === '')
|
|
20
|
-
return
|
|
22
|
+
return bounds.fallback;
|
|
21
23
|
const parsed = typeof value === 'number' ? value : Number(value);
|
|
22
|
-
if (!Number.isInteger(parsed) || parsed < 1 || parsed >
|
|
24
|
+
if (!Number.isInteger(parsed) || parsed < 1 || parsed > bounds.max)
|
|
23
25
|
return null;
|
|
24
26
|
return parsed;
|
|
25
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/server/routes/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/server/routes/shared.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/openai-compat",
|
|
3
|
-
"version": "21.0
|
|
3
|
+
"version": "21.1.0",
|
|
4
4
|
"description": "OpenAI Assistants API compatibility layer for Cogitator",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@cogitator-ai/core": "0.
|
|
19
|
-
"@cogitator-ai/types": "0.
|
|
18
|
+
"@cogitator-ai/core": "0.26.0",
|
|
19
|
+
"@cogitator-ai/types": "0.29.0",
|
|
20
20
|
"@fastify/cors": "^11.3.0",
|
|
21
21
|
"@fastify/multipart": "^10.1.2",
|
|
22
22
|
"fastify": "^5.12.5",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"vitest": "^5.0.3"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@cogitator-ai/core": ">=0.
|
|
35
|
-
"@cogitator-ai/types": ">=0.
|
|
34
|
+
"@cogitator-ai/core": ">=0.26.0",
|
|
35
|
+
"@cogitator-ai/types": ">=0.29.0",
|
|
36
36
|
"ioredis": "^5.0.0 || ^6.0.0",
|
|
37
37
|
"pg": "^8.0.0"
|
|
38
38
|
},
|