@cogitator-ai/koa 0.8.6 → 0.10.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 +102 -40
- package/dist/app.d.ts +7 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +31 -14
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware/auth.d.ts +6 -0
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +17 -2
- package/dist/middleware/auth.js.map +1 -1
- package/dist/middleware/body-parser.d.ts.map +1 -1
- package/dist/middleware/body-parser.js +3 -4
- package/dist/middleware/body-parser.js.map +1 -1
- package/dist/middleware/context.d.ts +5 -0
- package/dist/middleware/context.d.ts.map +1 -1
- package/dist/middleware/context.js +10 -1
- package/dist/middleware/context.js.map +1 -1
- package/dist/middleware/error-handler.d.ts.map +1 -1
- package/dist/middleware/error-handler.js +16 -36
- package/dist/middleware/error-handler.js.map +1 -1
- package/dist/middleware/index.d.ts +1 -1
- package/dist/middleware/index.d.ts.map +1 -1
- package/dist/middleware/index.js +1 -1
- package/dist/middleware/index.js.map +1 -1
- package/dist/middleware/unmatched.d.ts +20 -0
- package/dist/middleware/unmatched.d.ts.map +1 -0
- package/dist/middleware/unmatched.js +83 -0
- package/dist/middleware/unmatched.js.map +1 -0
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +91 -50
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/swarms.d.ts.map +1 -1
- package/dist/routes/swarms.js +32 -26
- package/dist/routes/swarms.js.map +1 -1
- package/dist/routes/threads.d.ts.map +1 -1
- package/dist/routes/threads.js +25 -26
- package/dist/routes/threads.js.map +1 -1
- package/dist/routes/workflows.d.ts.map +1 -1
- package/dist/routes/workflows.js +16 -25
- package/dist/routes/workflows.js.map +1 -1
- package/dist/types.d.ts +66 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/errors.d.ts +14 -6
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +29 -12
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/request.d.ts +10 -0
- package/dist/utils/request.d.ts.map +1 -1
- package/dist/utils/request.js +14 -0
- package/dist/utils/request.js.map +1 -1
- package/dist/websocket/handler.d.ts +6 -0
- package/dist/websocket/handler.d.ts.map +1 -1
- package/dist/websocket/handler.js +48 -18
- package/dist/websocket/handler.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarms.js","sourceRoot":"","sources":["../../src/routes/swarms.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,SAAS,GACV,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"swarms.js","sourceRoot":"","sources":["../../src/routes/swarms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AAuBlE,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,cAAc,CAAC,CAgG3D"}
|
package/dist/routes/threads.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import Router from '@koa/router';
|
|
2
2
|
import { assertThreadAccess, ensureThreadAccess } from '@cogitator-ai/core';
|
|
3
3
|
import { countMessageTokens } from '@cogitator-ai/memory';
|
|
4
|
-
import {
|
|
5
|
-
import { getRequestBody } from '../utils/request.js';
|
|
6
|
-
import { parseAddMessageRequest } from '@cogitator-ai/server-shared';
|
|
7
|
-
function respondWithError(ctx, error, label) {
|
|
8
|
-
const { status, body } = resolveError(error, label);
|
|
9
|
-
ctx.status = status;
|
|
10
|
-
ctx.body = body;
|
|
11
|
-
}
|
|
4
|
+
import { invalidInput, respondWithError, sendError } from '../utils/errors.js';
|
|
5
|
+
import { getRequestBody, refuseThread } from '../utils/request.js';
|
|
6
|
+
import { parseAddMessageRequest, parseThreadPageQuery, readThreadPage, } from '@cogitator-ai/server-shared';
|
|
12
7
|
function respondMemoryUnavailable(ctx) {
|
|
13
|
-
ctx
|
|
14
|
-
|
|
8
|
+
sendError(ctx, { status: 503, code: 'UNAVAILABLE', message: 'Memory not configured' });
|
|
9
|
+
}
|
|
10
|
+
/** Answers the refusal `authorizeThread` gives the thread, and says whether there was one */
|
|
11
|
+
async function threadRefused(ctx, threadId) {
|
|
12
|
+
const refusal = await refuseThread(ctx, threadId);
|
|
13
|
+
if (refusal)
|
|
14
|
+
sendError(ctx, refusal);
|
|
15
|
+
return refusal !== undefined;
|
|
15
16
|
}
|
|
16
17
|
export function createThreadRoutes() {
|
|
17
18
|
const router = new Router();
|
|
@@ -22,22 +23,17 @@ export function createThreadRoutes() {
|
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
24
25
|
const { id } = ctx.params;
|
|
26
|
+
const page = parseThreadPageQuery(ctx.query);
|
|
27
|
+
if (!page.ok) {
|
|
28
|
+
invalidInput(ctx, page.message);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (await threadRefused(ctx, id))
|
|
32
|
+
return;
|
|
25
33
|
const userId = ctx.state.auth?.userId;
|
|
26
34
|
try {
|
|
27
|
-
await assertThreadAccess(memory, id, userId);
|
|
28
|
-
const
|
|
29
|
-
if (!result.success) {
|
|
30
|
-
respondWithError(ctx, new Error(result.error), 'Thread get error');
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const entries = result.data;
|
|
34
|
-
const now = Date.now();
|
|
35
|
-
const response = {
|
|
36
|
-
id,
|
|
37
|
-
messages: entries.map((entry) => entry.message),
|
|
38
|
-
createdAt: entries.length > 0 ? entries[0].createdAt.getTime() : now,
|
|
39
|
-
updatedAt: entries.length > 0 ? entries[entries.length - 1].createdAt.getTime() : now,
|
|
40
|
-
};
|
|
35
|
+
const thread = await assertThreadAccess(memory, id, userId);
|
|
36
|
+
const response = await readThreadPage(memory, id, page.value, thread);
|
|
41
37
|
ctx.body = response;
|
|
42
38
|
}
|
|
43
39
|
catch (error) {
|
|
@@ -55,10 +51,11 @@ export function createThreadRoutes() {
|
|
|
55
51
|
roles: ctx.state.cogitator.threadMessageRoles,
|
|
56
52
|
});
|
|
57
53
|
if (!parsed.ok) {
|
|
58
|
-
ctx.
|
|
59
|
-
ctx.body = { error: { message: parsed.message, code: 'INVALID_INPUT' } };
|
|
54
|
+
invalidInput(ctx, parsed.message);
|
|
60
55
|
return;
|
|
61
56
|
}
|
|
57
|
+
if (await threadRefused(ctx, id))
|
|
58
|
+
return;
|
|
62
59
|
const message = { role: parsed.value.role, content: parsed.value.content };
|
|
63
60
|
const userId = ctx.state.auth?.userId;
|
|
64
61
|
try {
|
|
@@ -87,6 +84,8 @@ export function createThreadRoutes() {
|
|
|
87
84
|
return;
|
|
88
85
|
}
|
|
89
86
|
const { id } = ctx.params;
|
|
87
|
+
if (await threadRefused(ctx, id))
|
|
88
|
+
return;
|
|
90
89
|
const userId = ctx.state.auth?.userId;
|
|
91
90
|
try {
|
|
92
91
|
await assertThreadAccess(memory, id, userId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AAmBxE,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,cAAc,CAAC,CA+I7D"}
|
package/dist/routes/workflows.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Router from '@koa/router';
|
|
2
2
|
import { KoaStreamWriter, setupSSEHeaders } from '../streaming/index.js';
|
|
3
|
-
import { generateId, parseWorkflowRunRequest } from '@cogitator-ai/server-shared';
|
|
3
|
+
import { generateId, parseWorkflowRunRequest, workflowOptionsWithin, } from '@cogitator-ai/server-shared';
|
|
4
4
|
import { getOwn } from '../utils/lookup.js';
|
|
5
|
-
import { isModuleNotFoundError,
|
|
5
|
+
import { describeError, invalidInput, isModuleNotFoundError, notFound, notInstalled, respondWithError, } from '../utils/errors.js';
|
|
6
6
|
import { getRequestBody, onClientDisconnect } from '../utils/request.js';
|
|
7
7
|
import { toWorkflowRunResponse } from '../utils/results.js';
|
|
8
8
|
export function createWorkflowRoutes() {
|
|
@@ -22,14 +22,12 @@ export function createWorkflowRoutes() {
|
|
|
22
22
|
const { name } = ctx.params;
|
|
23
23
|
const workflow = getOwn(workflows, name);
|
|
24
24
|
if (!workflow) {
|
|
25
|
-
ctx
|
|
26
|
-
ctx.body = { error: { message: `Workflow '${name}' not found`, code: 'NOT_FOUND' } };
|
|
25
|
+
notFound(ctx, `Workflow '${name}' not found`);
|
|
27
26
|
return;
|
|
28
27
|
}
|
|
29
28
|
const parsed = parseWorkflowRunRequest(getRequestBody(ctx));
|
|
30
29
|
if (!parsed.ok) {
|
|
31
|
-
ctx.
|
|
32
|
-
ctx.body = { error: { message: parsed.message, code: 'INVALID_INPUT' } };
|
|
30
|
+
invalidInput(ctx, parsed.message);
|
|
33
31
|
return;
|
|
34
32
|
}
|
|
35
33
|
const abortController = new AbortController();
|
|
@@ -38,15 +36,13 @@ export function createWorkflowRoutes() {
|
|
|
38
36
|
const { WorkflowExecutor } = await import('@cogitator-ai/workflows');
|
|
39
37
|
const executor = new WorkflowExecutor(runtime);
|
|
40
38
|
const result = await executor.execute(workflow, parsed.value.input, {
|
|
41
|
-
...parsed.value.options,
|
|
39
|
+
...workflowOptionsWithin(parsed.value.options ?? {}, ctx.state.cogitator.limits),
|
|
42
40
|
signal: abortController.signal,
|
|
43
41
|
});
|
|
44
42
|
if (abortController.signal.aborted)
|
|
45
43
|
return;
|
|
46
44
|
if (result.error) {
|
|
47
|
-
|
|
48
|
-
ctx.status = status;
|
|
49
|
-
ctx.body = body;
|
|
45
|
+
respondWithError(ctx, result.error, 'Workflow run error');
|
|
50
46
|
return;
|
|
51
47
|
}
|
|
52
48
|
ctx.body = toWorkflowRunResponse(result);
|
|
@@ -55,13 +51,10 @@ export function createWorkflowRoutes() {
|
|
|
55
51
|
if (abortController.signal.aborted)
|
|
56
52
|
return;
|
|
57
53
|
if (isModuleNotFoundError(error)) {
|
|
58
|
-
ctx
|
|
59
|
-
ctx.body = { error: { message: 'Workflows package not installed', code: 'UNIMPLEMENTED' } };
|
|
54
|
+
notInstalled(ctx, 'Workflows');
|
|
60
55
|
return;
|
|
61
56
|
}
|
|
62
|
-
|
|
63
|
-
ctx.status = status;
|
|
64
|
-
ctx.body = body;
|
|
57
|
+
respondWithError(ctx, error, 'Workflow run error');
|
|
65
58
|
}
|
|
66
59
|
});
|
|
67
60
|
router.post('/workflows/:name/stream', async (ctx) => {
|
|
@@ -69,14 +62,12 @@ export function createWorkflowRoutes() {
|
|
|
69
62
|
const { name } = ctx.params;
|
|
70
63
|
const workflow = getOwn(workflows, name);
|
|
71
64
|
if (!workflow) {
|
|
72
|
-
ctx
|
|
73
|
-
ctx.body = { error: { message: `Workflow '${name}' not found`, code: 'NOT_FOUND' } };
|
|
65
|
+
notFound(ctx, `Workflow '${name}' not found`);
|
|
74
66
|
return;
|
|
75
67
|
}
|
|
76
68
|
const parsed = parseWorkflowRunRequest(getRequestBody(ctx));
|
|
77
69
|
if (!parsed.ok) {
|
|
78
|
-
ctx.
|
|
79
|
-
ctx.body = { error: { message: parsed.message, code: 'INVALID_INPUT' } };
|
|
70
|
+
invalidInput(ctx, parsed.message);
|
|
80
71
|
return;
|
|
81
72
|
}
|
|
82
73
|
setupSSEHeaders(ctx);
|
|
@@ -94,7 +85,7 @@ export function createWorkflowRoutes() {
|
|
|
94
85
|
const executor = new WorkflowExecutor(runtime);
|
|
95
86
|
writer.start(messageId);
|
|
96
87
|
const result = await executor.execute(workflow, parsed.value.input, {
|
|
97
|
-
...parsed.value.options,
|
|
88
|
+
...workflowOptionsWithin(parsed.value.options ?? {}, ctx.state.cogitator.limits),
|
|
98
89
|
signal: abortController.signal,
|
|
99
90
|
onNodeStart: (node) => {
|
|
100
91
|
writer.workflowEvent('node_started', { nodeName: node, timestamp: Date.now() });
|
|
@@ -105,7 +96,7 @@ export function createWorkflowRoutes() {
|
|
|
105
96
|
onNodeError: (node, error) => {
|
|
106
97
|
writer.workflowEvent('node_error', {
|
|
107
98
|
nodeName: node,
|
|
108
|
-
error:
|
|
99
|
+
error: describeError(error, `Workflow node ${node} error`).message,
|
|
109
100
|
});
|
|
110
101
|
},
|
|
111
102
|
onNodeProgress: (node, progress) => {
|
|
@@ -115,8 +106,8 @@ export function createWorkflowRoutes() {
|
|
|
115
106
|
if (abortController.signal.aborted)
|
|
116
107
|
return;
|
|
117
108
|
if (result.error) {
|
|
118
|
-
const
|
|
119
|
-
writer.error(
|
|
109
|
+
const failure = describeError(result.error, 'Workflow stream error');
|
|
110
|
+
writer.error(failure.message, failure.code);
|
|
120
111
|
return;
|
|
121
112
|
}
|
|
122
113
|
writer.workflowEvent('workflow_completed', {
|
|
@@ -132,8 +123,8 @@ export function createWorkflowRoutes() {
|
|
|
132
123
|
writer.error('Workflows package not installed', 'UNIMPLEMENTED');
|
|
133
124
|
}
|
|
134
125
|
else {
|
|
135
|
-
const
|
|
136
|
-
writer.error(
|
|
126
|
+
const failure = describeError(error, 'Workflow stream error');
|
|
127
|
+
writer.error(failure.message, failure.code);
|
|
137
128
|
}
|
|
138
129
|
}
|
|
139
130
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { IncomingMessage } from 'http';
|
|
2
2
|
import type { Context } from 'koa';
|
|
3
3
|
import type { Cogitator, Agent } from '@cogitator-ai/core';
|
|
4
|
-
import type { AgentRunResponse, ContextPolicy, PendingApproval, ReadinessCheckStatus, ReadinessResponse, ThreadMessageRole, WorkflowRunRequestBody } from '@cogitator-ai/server-shared';
|
|
4
|
+
import type { AgentRunResponse, AnonymousPolicy, AuthorizeThread, ContextPolicy, PendingApproval, ReadinessCheckStatus, ReadinessResponse, RunLimits, ThreadMessageRole, WorkflowRunRequestBody } from '@cogitator-ai/server-shared';
|
|
5
5
|
import type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision } from '@cogitator-ai/types';
|
|
6
|
-
export type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision, PendingApproval, ReadinessResponse, ReadinessCheckStatus, };
|
|
6
|
+
export type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision, PendingApproval, ReadinessResponse, ReadinessCheckStatus, RunLimits, AnonymousPolicy, AuthorizeThread, };
|
|
7
7
|
export interface AuthContext {
|
|
8
8
|
userId?: string;
|
|
9
9
|
roles?: string[];
|
|
@@ -12,12 +12,27 @@ export interface AuthContext {
|
|
|
12
12
|
}
|
|
13
13
|
export type AuthFunction = (ctx: Context) => Promise<AuthContext | undefined> | AuthContext | undefined;
|
|
14
14
|
export type WebSocketAuthFunction = (req: IncomingMessage) => Promise<AuthContext | undefined> | AuthContext | undefined;
|
|
15
|
+
/** Builds the `deps` an agent run of a request passes to its tools (`RunOptions.deps`) */
|
|
16
|
+
export type DepsFunction = (ctx: Context) => unknown | Promise<unknown>;
|
|
17
|
+
/** Builds the `deps` an agent run on a WebSocket connection passes to its tools */
|
|
18
|
+
export type WebSocketDepsFunction = (req: IncomingMessage) => unknown | Promise<unknown>;
|
|
15
19
|
export interface WebSocketConfig {
|
|
16
20
|
path?: string;
|
|
17
21
|
pingInterval?: number;
|
|
18
22
|
pingTimeout?: number;
|
|
19
23
|
maxPayloadSize?: number;
|
|
20
24
|
auth?: WebSocketAuthFunction;
|
|
25
|
+
/**
|
|
26
|
+
* Whether a connection without a `userId` from `auth` may open: `'allow'` lets it in,
|
|
27
|
+
* `'deny'` refuses the upgrade with `401`. Default: the `anonymous` of the route context,
|
|
28
|
+
* else `'allow'`
|
|
29
|
+
*/
|
|
30
|
+
anonymous?: AnonymousPolicy;
|
|
31
|
+
/**
|
|
32
|
+
* Builds the `deps` of the agent runs and resumes on a connection, from its upgrade request,
|
|
33
|
+
* called for each run. Deps never come from a message.
|
|
34
|
+
*/
|
|
35
|
+
deps?: WebSocketDepsFunction;
|
|
21
36
|
}
|
|
22
37
|
export type { SwaggerConfig } from '@cogitator-ai/server-shared';
|
|
23
38
|
import type { SwaggerConfig } from '@cogitator-ai/server-shared';
|
|
@@ -47,6 +62,34 @@ export interface CogitatorAppOptions {
|
|
|
47
62
|
* `assistant`. A `system` message is read by the model as operator instructions.
|
|
48
63
|
*/
|
|
49
64
|
threadMessageRoles?: readonly ThreadMessageRole[];
|
|
65
|
+
/**
|
|
66
|
+
* Caps on what a request may ask a run for. A swarm run times out after at most
|
|
67
|
+
* `swarmTimeout` ms and a workflow run takes at most `workflowMaxIterations` iterations and
|
|
68
|
+
* `workflowMaxConcurrency` nodes at once, over HTTP and SSE (WebSocket runs take the
|
|
69
|
+
* `limits` of the `RouteContext` given to `setupWebSocket`). A request that asks for more is
|
|
70
|
+
* held to the cap, one that asks for nothing gets it. Each limit must be a positive integer,
|
|
71
|
+
* or creating the router throws.
|
|
72
|
+
*/
|
|
73
|
+
limits?: RunLimits;
|
|
74
|
+
/**
|
|
75
|
+
* Whether a caller without a `userId` may use the API: `'allow'` (the default) lets them
|
|
76
|
+
* in, `'deny'` answers `401 UNAUTHORIZED`. `/health`, `/ready`, `/openapi.json` and `/docs`
|
|
77
|
+
* stay open either way.
|
|
78
|
+
*/
|
|
79
|
+
anonymous?: AnonymousPolicy;
|
|
80
|
+
/**
|
|
81
|
+
* Decides whether a caller may touch a thread, on top of the ownership check of core:
|
|
82
|
+
* called with what `auth` returned and the thread a request names, on agent runs, streams
|
|
83
|
+
* and resumes, swarm runs and the thread routes. `false` answers `403 THREAD_FORBIDDEN` and
|
|
84
|
+
* starts no run.
|
|
85
|
+
*/
|
|
86
|
+
authorizeThread?: AuthorizeThread<AuthContext>;
|
|
87
|
+
/**
|
|
88
|
+
* Builds the `deps` of the agent runs and resumes of a request, which tools get as
|
|
89
|
+
* `context.deps` and the model never sees: a database handle, a tenant, a client. Deps
|
|
90
|
+
* never come from the request body. WebSocket runs use `WebSocketConfig.deps`.
|
|
91
|
+
*/
|
|
92
|
+
deps?: DepsFunction;
|
|
50
93
|
}
|
|
51
94
|
export interface CogitatorState {
|
|
52
95
|
cogitator: RouteContext;
|
|
@@ -65,6 +108,25 @@ export interface RouteContext {
|
|
|
65
108
|
acceptContext?: ContextPolicy;
|
|
66
109
|
/** Roles clients may add to threads. Default: `user` and `assistant` */
|
|
67
110
|
threadMessageRoles?: readonly ThreadMessageRole[];
|
|
111
|
+
/** Caps on what a request may ask a run for, see `CogitatorAppOptions.limits`. Default: none */
|
|
112
|
+
limits?: RunLimits;
|
|
113
|
+
/**
|
|
114
|
+
* Who may touch a thread, see `CogitatorAppOptions.authorizeThread`. Default: every caller
|
|
115
|
+
* may touch the threads core lets them
|
|
116
|
+
*/
|
|
117
|
+
authorizeThread?: AuthorizeThread<AuthContext>;
|
|
118
|
+
/**
|
|
119
|
+
* Whether a caller without a `userId` may use the API, see `CogitatorAppOptions.anonymous`.
|
|
120
|
+
* `setupWebSocket` applies it to the handshake when `WebSocketConfig.anonymous` is not set.
|
|
121
|
+
* Default: `'allow'`
|
|
122
|
+
*/
|
|
123
|
+
anonymous?: AnonymousPolicy;
|
|
124
|
+
/**
|
|
125
|
+
* Builds the `deps` of HTTP agent runs, see `CogitatorAppOptions.deps`. It gets the Koa
|
|
126
|
+
* `Context` of a request, which a WebSocket upgrade does not have, so `setupWebSocket` does
|
|
127
|
+
* not use it: WebSocket runs take `WebSocketConfig.deps`. Default: none
|
|
128
|
+
*/
|
|
129
|
+
deps?: DepsFunction;
|
|
68
130
|
}
|
|
69
131
|
export interface AgentListResponse {
|
|
70
132
|
agents: Array<{
|
|
@@ -90,6 +152,8 @@ export interface ThreadResponse {
|
|
|
90
152
|
metadata?: Record<string, unknown>;
|
|
91
153
|
createdAt: number;
|
|
92
154
|
updatedAt: number;
|
|
155
|
+
/** Pass as `cursor` to read the page before this one, absent at the thread's start */
|
|
156
|
+
nextCursor?: string;
|
|
93
157
|
}
|
|
94
158
|
export interface AddMessageRequest {
|
|
95
159
|
role: 'user' | 'assistant' | 'system';
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
status: number;
|
|
4
|
-
body: ErrorResponse;
|
|
5
|
-
}
|
|
1
|
+
import type { Context } from 'koa';
|
|
2
|
+
import { type HttpErrorDescription } from '@cogitator-ai/server-shared';
|
|
6
3
|
export declare function isModuleNotFoundError(error: unknown): boolean;
|
|
7
|
-
|
|
4
|
+
/**
|
|
5
|
+
* How the server answers `error`: {@link describeHttpError}, or {@link INTERNAL_ERROR} for an
|
|
6
|
+
* error the client is not told about, which is logged under `label`
|
|
7
|
+
*/
|
|
8
|
+
export declare function describeError(error: unknown, label: string): HttpErrorDescription;
|
|
9
|
+
/** Answers an error with the error envelope and its `Retry-After` */
|
|
10
|
+
export declare function sendError(ctx: Context, error: HttpErrorDescription): void;
|
|
11
|
+
/** Answers `error` as {@link describeError} describes it */
|
|
12
|
+
export declare function respondWithError(ctx: Context, error: unknown, label: string): void;
|
|
13
|
+
export declare function invalidInput(ctx: Context, message: string): void;
|
|
14
|
+
export declare function notFound(ctx: Context, message: string): void;
|
|
15
|
+
export declare function notInstalled(ctx: Context, label: 'Swarms' | 'Workflows'): void;
|
|
8
16
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAC;AAErC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI7D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAKjF;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAIzE;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAElF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,CAE9E"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -1,21 +1,38 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { INTERNAL_ERROR, describeHttpError, errorEnvelope, errorHeaders, } from '@cogitator-ai/server-shared';
|
|
2
2
|
export function isModuleNotFoundError(error) {
|
|
3
3
|
if (typeof error !== 'object' || error === null)
|
|
4
4
|
return false;
|
|
5
5
|
const code = error.code;
|
|
6
6
|
return code === 'MODULE_NOT_FOUND' || code === 'ERR_MODULE_NOT_FOUND';
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
/**
|
|
9
|
+
* How the server answers `error`: {@link describeHttpError}, or {@link INTERNAL_ERROR} for an
|
|
10
|
+
* error the client is not told about, which is logged under `label`
|
|
11
|
+
*/
|
|
12
|
+
export function describeError(error, label) {
|
|
13
|
+
const described = describeHttpError(error);
|
|
14
|
+
if (described)
|
|
15
|
+
return described;
|
|
15
16
|
console.error(`[CogitatorKoa] ${label}:`, error);
|
|
16
|
-
return
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
return INTERNAL_ERROR;
|
|
18
|
+
}
|
|
19
|
+
/** Answers an error with the error envelope and its `Retry-After` */
|
|
20
|
+
export function sendError(ctx, error) {
|
|
21
|
+
ctx.status = error.status;
|
|
22
|
+
ctx.set(errorHeaders(error));
|
|
23
|
+
ctx.body = errorEnvelope(error);
|
|
24
|
+
}
|
|
25
|
+
/** Answers `error` as {@link describeError} describes it */
|
|
26
|
+
export function respondWithError(ctx, error, label) {
|
|
27
|
+
sendError(ctx, describeError(error, label));
|
|
28
|
+
}
|
|
29
|
+
export function invalidInput(ctx, message) {
|
|
30
|
+
sendError(ctx, { status: 400, code: 'INVALID_INPUT', message });
|
|
31
|
+
}
|
|
32
|
+
export function notFound(ctx, message) {
|
|
33
|
+
sendError(ctx, { status: 404, code: 'NOT_FOUND', message });
|
|
34
|
+
}
|
|
35
|
+
export function notInstalled(ctx, label) {
|
|
36
|
+
sendError(ctx, { status: 501, code: 'UNIMPLEMENTED', message: `${label} package not installed` });
|
|
20
37
|
}
|
|
21
38
|
//# sourceMappingURL=errors.js.map
|
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,YAAY,GAEb,MAAM,6BAA6B,CAAC;AAErC,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;IACnD,OAAO,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,sBAAsB,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,KAAa;IACzD,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,kBAAkB,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,SAAS,CAAC,GAAY,EAAE,KAA2B;IACjE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1B,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,KAAc,EAAE,KAAa;IAC1E,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY,EAAE,OAAe;IACxD,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAY,EAAE,OAAe;IACpD,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY,EAAE,KAA6B;IACtE,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,KAAK,wBAAwB,EAAE,CAAC,CAAC;AACpG,CAAC"}
|
package/dist/utils/request.d.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { Context } from 'koa';
|
|
2
|
+
import { type HttpErrorDescription } from '@cogitator-ai/server-shared';
|
|
2
3
|
export declare function getRequestBody(ctx: Context): unknown;
|
|
3
4
|
export declare function onClientDisconnect(ctx: Context, listener: () => void): void;
|
|
5
|
+
/**
|
|
6
|
+
* The refusal of a request that names a thread the router's `authorizeThread` keeps the
|
|
7
|
+
* caller from, none when it may go on
|
|
8
|
+
*/
|
|
9
|
+
export declare function refuseThread(ctx: Context, threadId: string | undefined): Promise<HttpErrorDescription | undefined>;
|
|
10
|
+
/** The `deps` a run of this request gets from the router's `deps` hook, none without it */
|
|
11
|
+
export declare function runDeps(ctx: Context): Promise<{
|
|
12
|
+
deps?: unknown;
|
|
13
|
+
}>;
|
|
4
14
|
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAG/F,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAK3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAG3C;AAED,2FAA2F;AAC3F,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAGvE"}
|
package/dist/utils/request.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { authorizeThreadAccess } from '@cogitator-ai/server-shared';
|
|
1
2
|
export function getRequestBody(ctx) {
|
|
2
3
|
return ctx.request.body;
|
|
3
4
|
}
|
|
@@ -8,4 +9,17 @@ export function onClientDisconnect(ctx, listener) {
|
|
|
8
9
|
listener();
|
|
9
10
|
});
|
|
10
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* The refusal of a request that names a thread the router's `authorizeThread` keeps the
|
|
14
|
+
* caller from, none when it may go on
|
|
15
|
+
*/
|
|
16
|
+
export function refuseThread(ctx, threadId) {
|
|
17
|
+
const state = ctx.state;
|
|
18
|
+
return authorizeThreadAccess(state.cogitator.authorizeThread, state.auth, threadId);
|
|
19
|
+
}
|
|
20
|
+
/** The `deps` a run of this request gets from the router's `deps` hook, none without it */
|
|
21
|
+
export async function runDeps(ctx) {
|
|
22
|
+
const deps = ctx.state.cogitator.deps;
|
|
23
|
+
return deps ? { deps: await deps(ctx) } : {};
|
|
24
|
+
}
|
|
11
25
|
//# sourceMappingURL=request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAA6B,MAAM,6BAA6B,CAAC;AAG/F,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAQ,GAAG,CAAC,OAAmD,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAY,EAAE,QAAoB;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,IAAI,CAAC,GAAG,CAAC,gBAAgB;YAAE,QAAQ,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAY,EACZ,QAA4B;IAE5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAuB,CAAC;IAC1C,OAAO,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtF,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAY;IACxC,MAAM,IAAI,GAAI,GAAG,CAAC,KAAwB,CAAC,SAAS,CAAC,IAAI,CAAC;IAC1D,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { type Server as HttpServer } from 'http';
|
|
2
2
|
import type { RouteContext, WebSocketConfig } from '../types.js';
|
|
3
3
|
type WebSocketServerType = import('ws').WebSocketServer;
|
|
4
|
+
/**
|
|
5
|
+
* Serves WebSocket runs on `server`, with the agents, workflows, swarms, `limits` and
|
|
6
|
+
* `authorizeThread` of `ctx`, and its `anonymous` policy when `config` sets none.
|
|
7
|
+
*
|
|
8
|
+
* @throws Error when `ctx.limits` holds a limit that is not a positive integer
|
|
9
|
+
*/
|
|
4
10
|
export declare function setupWebSocket(server: HttpServer, ctx: RouteContext, config?: WebSocketConfig): Promise<WebSocketServerType | null>;
|
|
5
11
|
export {};
|
|
6
12
|
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/websocket/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAErF,OAAO,KAAK,EAEV,YAAY,EAEZ,eAAe,EAIhB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/websocket/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAErF,OAAO,KAAK,EAEV,YAAY,EAEZ,eAAe,EAIhB,MAAM,aAAa,CAAC;AAqBrB,KAAK,mBAAmB,GAAG,OAAO,IAAI,EAAE,eAAe,CAAC;AAgCxD;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,YAAY,EACjB,MAAM,GAAE,eAAoB,GAC3B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAwDrC"}
|