@cogitator-ai/express 0.11.0 → 0.12.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 +24 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/routes/workflows.d.ts.map +1 -1
- package/dist/routes/workflows.js +105 -55
- package/dist/routes/workflows.js.map +1 -1
- package/dist/types.d.ts +14 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -93,13 +93,32 @@ do {
|
|
|
93
93
|
|
|
94
94
|
```
|
|
95
95
|
GET /api/workflows - List all workflows
|
|
96
|
-
POST /api/workflows/:name/run
|
|
97
|
-
POST /api/workflows/:name/stream
|
|
96
|
+
POST /api/workflows/:name/run - Run workflow
|
|
97
|
+
POST /api/workflows/:name/stream - Stream workflow events
|
|
98
|
+
POST /api/workflows/:name/resume - Resume a workflow from a checkpoint
|
|
99
|
+
POST /api/workflows/:name/resume/stream - Resume a workflow and stream its events
|
|
98
100
|
```
|
|
99
101
|
|
|
100
|
-
Body: `{ input?: object; options?: { maxConcurrency?: number; maxIterations?: number } }`. `maxConcurrency`/`maxIterations` must be positive integers (400 otherwise). With `limits.workflowMaxIterations` or `limits.workflowMaxConcurrency` set, a larger value is held to the limit, and a request that asks for nothing gets the limit. Other options are dropped, and `checkpoint: true` is refused
|
|
102
|
+
Body: `{ input?: object; options?: { maxConcurrency?: number; maxIterations?: number; checkpoint?: boolean } }`. `maxConcurrency`/`maxIterations` must be positive integers (400 otherwise). With `limits.workflowMaxIterations` or `limits.workflowMaxConcurrency` set, a larger value is held to the limit, and a request that asks for nothing gets the limit. Other options are dropped, and `checkpoint: true` is refused with 400 unless the server has `workflowCheckpoints` (see [Checkpoints and resume](#checkpoints-and-resume)). A failed workflow answers the error it failed with, mapped like any other run error (a node that hit `LLM_RATE_LIMITED` answers `429` with `Retry-After`, an internal error `500 INTERNAL_ERROR`), and its stream ends with an `error` event carrying that code instead of `workflow_completed`. Disconnecting aborts the workflow.
|
|
101
103
|
|
|
102
|
-
The stream sends `{ type: 'workflow', event, data }` events: `node_started`, `node_completed`, `node_error`, `node_progress` and finally `workflow_completed
|
|
104
|
+
The stream sends `{ type: 'workflow', event, data }` events: `node_started`, `node_completed`, `node_error`, `node_progress` and finally `workflow_completed` (`{ workflowId, duration, checkpointId? }`), or, when the run fails, `workflow_failed` (`{ checkpointId? }`) right before the `error` event.
|
|
105
|
+
|
|
106
|
+
#### Checkpoints and resume
|
|
107
|
+
|
|
108
|
+
`config.workflowCheckpoints` takes any `CheckpointStore` of `@cogitator-ai/workflows`, such as `PostgresCheckpointStore` or `RedisCheckpointStore`. With it, a run with `options.checkpoint: true` saves its checkpoints there as the caller's, the `userId` that `auth` returned (none for an anonymous caller), and its answer and `workflow_completed` event carry the last one as `checkpointId`.
|
|
109
|
+
|
|
110
|
+
`POST /workflows/:name/resume` takes `{ checkpointId: string; options?: { maxConcurrency?: number; maxIterations?: number } }`, passes over the nodes the checkpoint completed and runs the rest. It answers like `/run`, and `/resume/stream` streams like `/stream`. The `limits` hold as on `/run`, and the resumed run keeps saving checkpoints, so it can be resumed again. A checkpoint that is missing, belongs to another user or to another workflow answers `404 CHECKPOINT_NOT_FOUND` before anything runs, on `/resume/stream` before the stream opens. Without `workflowCheckpoints` every resume answers `404 CHECKPOINT_NOT_FOUND`. A run that fails answers its error with the last checkpoint it saved as `checkpointId`, next to `code` and `message` (`{ error: { message, code, checkpointId } }`), and a failed stream sends a `workflow_failed` event with `{ checkpointId }` right before its `error` event, so the client resumes the failed run from there. A resume that fails again names the checkpoint to resume from, its own last one or, when it saved none, the one it started from.
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
import { PostgresCheckpointStore } from '@cogitator-ai/workflows';
|
|
114
|
+
|
|
115
|
+
const server = new CogitatorServer({
|
|
116
|
+
app,
|
|
117
|
+
cogitator,
|
|
118
|
+
workflows: { shipping },
|
|
119
|
+
config: { auth, workflowCheckpoints: new PostgresCheckpointStore({ client: pool }) },
|
|
120
|
+
});
|
|
121
|
+
```
|
|
103
122
|
|
|
104
123
|
### Swarms
|
|
105
124
|
|
|
@@ -438,6 +457,7 @@ interface CogitatorServerConfig {
|
|
|
438
457
|
threadId: string
|
|
439
458
|
) => boolean | Promise<boolean>;
|
|
440
459
|
deps?: (req: Request) => unknown | Promise<unknown>; // HTTP runs, WebSocket runs use websocket.deps
|
|
460
|
+
workflowCheckpoints?: CheckpointStore; // workflow checkpoints and /resume, none by default
|
|
441
461
|
};
|
|
442
462
|
}
|
|
443
463
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CogitatorServer } from './server.js';
|
|
2
|
-
export type { AuthContext, AuthFunction, DepsFunction, WebSocketDepsFunction, CogitatorRequest, CogitatorServerConfig, RateLimitConfig, CorsConfig, SwaggerConfig, WebSocketConfig, RouteContext, ResolvedServerConfig, AgentListResponse, AgentRunRequest, AgentRunResponse, AgentResumeRequest, PendingApproval, ThreadResponse, AddMessageRequest, ToolListResponse, WorkflowListResponse, WorkflowRunRequest, WorkflowRunResponse, WorkflowStatusResponse, SwarmListResponse, SwarmRunRequest, SwarmRunResponse, BlackboardResponse, HealthResponse, ReadinessResponse, ReadinessCheckStatus, ErrorResponse, WebSocketMessage, WebSocketResponse, OpenAPISpec, ExpressMiddleware, } from './types.js';
|
|
2
|
+
export type { AuthContext, AuthFunction, DepsFunction, WebSocketDepsFunction, CogitatorRequest, CogitatorServerConfig, RateLimitConfig, CorsConfig, SwaggerConfig, WebSocketConfig, RouteContext, ResolvedServerConfig, AgentListResponse, AgentRunRequest, AgentRunResponse, AgentResumeRequest, PendingApproval, ThreadResponse, AddMessageRequest, ToolListResponse, WorkflowListResponse, WorkflowRunRequest, WorkflowRunResponse, WorkflowResumeRequest, WorkflowStatusResponse, SwarmListResponse, SwarmRunRequest, SwarmRunResponse, BlackboardResponse, HealthResponse, ReadinessResponse, ReadinessCheckStatus, ErrorResponse, WebSocketMessage, WebSocketResponse, OpenAPISpec, ExpressMiddleware, } from './types.js';
|
|
3
3
|
export { createAuthMiddleware, createAnonymousGuard, createRateLimitMiddleware, createCorsMiddleware, errorHandler, notFoundHandler, } from './middleware/index.js';
|
|
4
4
|
export { createHealthRoutes, createAgentRoutes, createThreadRoutes, createToolRoutes, createWorkflowRoutes, createSwarmRoutes, } from './routes/index.js';
|
|
5
5
|
export { ExpressStreamWriter, setupSSEHeaders, generateId, encodeSSE, encodeDone, } from './streaming/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,YAAY,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,KAAK,GACN,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,YAAY,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,KAAK,GACN,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA0C9C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,sBAAsB,CAAC;AAsB9B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AASjC,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,aAAa,CAAC;AAyCrB,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAsN9D"}
|
package/dist/routes/workflows.js
CHANGED
|
@@ -1,78 +1,104 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
|
-
import { parseWorkflowRunRequest, workflowOptionsWithin } from '@cogitator-ai/server-shared';
|
|
2
|
+
import { checkpointNotFound, findOwnedCheckpoint, ownedCheckpoints, parseWorkflowResumeRequest, parseWorkflowRunRequest, toWorkflowCompletedData, toWorkflowFailedData, withResumedCheckpoint, workflowOptionsWithin, workflowRunFailure, } from '@cogitator-ai/server-shared';
|
|
3
3
|
import { ExpressStreamWriter, setupSSEHeaders, generateId } from '../streaming/index.js';
|
|
4
|
-
import { handleRouteError, isModuleNotFound, onClientDisconnect, resolveError, sendError, } from './utils.js';
|
|
4
|
+
import { handleRouteError, isModuleNotFound, onClientDisconnect, resolveError, sendError, sendFailure, } from './utils.js';
|
|
5
5
|
const WORKFLOWS_MISSING = 'Workflows package not installed';
|
|
6
|
+
function toWorkflowRunResponse(result) {
|
|
7
|
+
return {
|
|
8
|
+
workflowId: result.workflowId,
|
|
9
|
+
workflowName: result.workflowName,
|
|
10
|
+
state: result.state,
|
|
11
|
+
duration: result.duration,
|
|
12
|
+
nodeResults: Object.fromEntries(result.nodeResults),
|
|
13
|
+
...(result.checkpointId !== undefined && { checkpointId: result.checkpointId }),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
6
16
|
export function createWorkflowRoutes(ctx) {
|
|
7
17
|
const router = Router();
|
|
18
|
+
const store = ctx.config.workflowCheckpoints;
|
|
8
19
|
const findWorkflow = (name) => Object.hasOwn(ctx.workflows, name) ? ctx.workflows[name] : undefined;
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}));
|
|
15
|
-
const response = { workflows: workflowList };
|
|
16
|
-
res.json(response);
|
|
17
|
-
});
|
|
18
|
-
router.post('/workflows/:name/run', async (req, res) => {
|
|
20
|
+
const executorFor = async (checkpoints) => {
|
|
21
|
+
const { WorkflowExecutor } = await import('@cogitator-ai/workflows');
|
|
22
|
+
return new WorkflowExecutor(ctx.cogitator, checkpoints);
|
|
23
|
+
};
|
|
24
|
+
const workflowOf = (req, res) => {
|
|
19
25
|
const { name } = req.params;
|
|
20
26
|
const workflow = findWorkflow(name);
|
|
21
|
-
if (!workflow)
|
|
27
|
+
if (!workflow)
|
|
22
28
|
sendError(res, 404, `Workflow '${name}' not found`, 'NOT_FOUND');
|
|
23
|
-
|
|
29
|
+
return workflow;
|
|
30
|
+
};
|
|
31
|
+
const admitRun = (req, res) => {
|
|
32
|
+
const workflow = workflowOf(req, res);
|
|
33
|
+
if (!workflow)
|
|
34
|
+
return undefined;
|
|
35
|
+
const parsed = parseWorkflowRunRequest(req.body, { checkpoints: store !== undefined });
|
|
36
|
+
if (!parsed.ok) {
|
|
37
|
+
sendError(res, 400, parsed.message, 'INVALID_INPUT');
|
|
38
|
+
return undefined;
|
|
24
39
|
}
|
|
25
|
-
const
|
|
40
|
+
const { input, options = {} } = parsed.value;
|
|
41
|
+
const checkpoints = options.checkpoint && store
|
|
42
|
+
? ownedCheckpoints(store, req.cogitator?.auth?.userId)
|
|
43
|
+
: undefined;
|
|
44
|
+
return async (runOptions) => (await executorFor(checkpoints)).execute(workflow, input, {
|
|
45
|
+
...workflowOptionsWithin(options, ctx.config.limits),
|
|
46
|
+
...runOptions,
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const admitResume = async (req, res) => {
|
|
50
|
+
const workflow = workflowOf(req, res);
|
|
51
|
+
if (!workflow)
|
|
52
|
+
return undefined;
|
|
53
|
+
const parsed = parseWorkflowResumeRequest(req.body);
|
|
26
54
|
if (!parsed.ok) {
|
|
27
55
|
sendError(res, 400, parsed.message, 'INVALID_INPUT');
|
|
28
|
-
return;
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
const { checkpointId, options = {} } = parsed.value;
|
|
59
|
+
const userId = req.cogitator?.auth?.userId;
|
|
60
|
+
try {
|
|
61
|
+
const checkpoint = await findOwnedCheckpoint(store, userId, workflow.name, checkpointId);
|
|
62
|
+
if (!store || !checkpoint) {
|
|
63
|
+
sendFailure(res, checkpointNotFound(checkpointId));
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
const checkpoints = ownedCheckpoints(store, userId);
|
|
67
|
+
return async (runOptions) => withResumedCheckpoint(await (await executorFor(checkpoints)).resume(workflow, checkpointId, {
|
|
68
|
+
...workflowOptionsWithin(options, ctx.config.limits),
|
|
69
|
+
checkpoint: true,
|
|
70
|
+
...runOptions,
|
|
71
|
+
}), checkpointId);
|
|
29
72
|
}
|
|
30
|
-
|
|
73
|
+
catch (error) {
|
|
74
|
+
handleRouteError(res, error, 'Workflow resume error');
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const respond = async (res, start, label) => {
|
|
31
79
|
const abortController = new AbortController();
|
|
32
80
|
onClientDisconnect(res, () => abortController.abort());
|
|
33
81
|
try {
|
|
34
|
-
const
|
|
35
|
-
const executor = new WorkflowExecutor(ctx.cogitator);
|
|
36
|
-
const result = await executor.execute(workflow, body.input, {
|
|
37
|
-
...workflowOptionsWithin(body.options ?? {}, ctx.config.limits),
|
|
38
|
-
signal: abortController.signal,
|
|
39
|
-
});
|
|
82
|
+
const result = await start({ signal: abortController.signal });
|
|
40
83
|
if (abortController.signal.aborted)
|
|
41
84
|
return;
|
|
42
85
|
if (result.error) {
|
|
43
|
-
|
|
86
|
+
if (!res.headersSent) {
|
|
87
|
+
sendFailure(res, workflowRunFailure(resolveError(result.error, label), result.checkpointId));
|
|
88
|
+
}
|
|
44
89
|
return;
|
|
45
90
|
}
|
|
46
|
-
|
|
47
|
-
workflowId: result.workflowId,
|
|
48
|
-
workflowName: result.workflowName,
|
|
49
|
-
state: result.state,
|
|
50
|
-
duration: result.duration,
|
|
51
|
-
nodeResults: Object.fromEntries(result.nodeResults),
|
|
52
|
-
};
|
|
53
|
-
res.json(response);
|
|
91
|
+
res.json(toWorkflowRunResponse(result));
|
|
54
92
|
}
|
|
55
93
|
catch (error) {
|
|
56
94
|
if (isModuleNotFound(error)) {
|
|
57
95
|
sendError(res, 501, WORKFLOWS_MISSING, 'UNIMPLEMENTED');
|
|
58
96
|
return;
|
|
59
97
|
}
|
|
60
|
-
handleRouteError(res, error,
|
|
98
|
+
handleRouteError(res, error, label);
|
|
61
99
|
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const { name } = req.params;
|
|
65
|
-
const workflow = findWorkflow(name);
|
|
66
|
-
if (!workflow) {
|
|
67
|
-
sendError(res, 404, `Workflow '${name}' not found`, 'NOT_FOUND');
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const parsed = parseWorkflowRunRequest(req.body);
|
|
71
|
-
if (!parsed.ok) {
|
|
72
|
-
sendError(res, 400, parsed.message, 'INVALID_INPUT');
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
const body = parsed.value;
|
|
100
|
+
};
|
|
101
|
+
const stream = async (res, start) => {
|
|
76
102
|
setupSSEHeaders(res);
|
|
77
103
|
const writer = new ExpressStreamWriter(res, { heartbeatMs: ctx.config.sseHeartbeatMs });
|
|
78
104
|
const messageId = generateId('wf');
|
|
@@ -82,11 +108,8 @@ export function createWorkflowRoutes(ctx) {
|
|
|
82
108
|
writer.close();
|
|
83
109
|
});
|
|
84
110
|
try {
|
|
85
|
-
const { WorkflowExecutor } = await import('@cogitator-ai/workflows');
|
|
86
|
-
const executor = new WorkflowExecutor(ctx.cogitator);
|
|
87
111
|
writer.start(messageId);
|
|
88
|
-
const result = await
|
|
89
|
-
...workflowOptionsWithin(body.options ?? {}, ctx.config.limits),
|
|
112
|
+
const result = await start({
|
|
90
113
|
signal: abortController.signal,
|
|
91
114
|
onNodeStart: (node) => {
|
|
92
115
|
writer.workflowEvent('node_started', { nodeName: node, timestamp: Date.now() });
|
|
@@ -105,14 +128,12 @@ export function createWorkflowRoutes(ctx) {
|
|
|
105
128
|
},
|
|
106
129
|
});
|
|
107
130
|
if (result.error) {
|
|
131
|
+
writer.workflowEvent('workflow_failed', toWorkflowFailedData(result));
|
|
108
132
|
const failure = resolveError(result.error, 'Workflow stream error');
|
|
109
133
|
writer.error(failure.message, failure.code);
|
|
110
134
|
return;
|
|
111
135
|
}
|
|
112
|
-
writer.workflowEvent('workflow_completed',
|
|
113
|
-
workflowId: result.workflowId,
|
|
114
|
-
duration: result.duration,
|
|
115
|
-
});
|
|
136
|
+
writer.workflowEvent('workflow_completed', toWorkflowCompletedData(result));
|
|
116
137
|
writer.finish(messageId);
|
|
117
138
|
}
|
|
118
139
|
catch (error) {
|
|
@@ -127,6 +148,35 @@ export function createWorkflowRoutes(ctx) {
|
|
|
127
148
|
finally {
|
|
128
149
|
writer.close();
|
|
129
150
|
}
|
|
151
|
+
};
|
|
152
|
+
router.get('/workflows', (_req, res) => {
|
|
153
|
+
const workflowList = Object.entries(ctx.workflows).map(([name, workflow]) => ({
|
|
154
|
+
name,
|
|
155
|
+
entryPoint: workflow.entryPoint,
|
|
156
|
+
nodes: Array.from(workflow.nodes.keys()),
|
|
157
|
+
}));
|
|
158
|
+
const response = { workflows: workflowList };
|
|
159
|
+
res.json(response);
|
|
160
|
+
});
|
|
161
|
+
router.post('/workflows/:name/run', async (req, res) => {
|
|
162
|
+
const start = admitRun(req, res);
|
|
163
|
+
if (start)
|
|
164
|
+
await respond(res, start, 'Workflow run error');
|
|
165
|
+
});
|
|
166
|
+
router.post('/workflows/:name/stream', async (req, res) => {
|
|
167
|
+
const start = admitRun(req, res);
|
|
168
|
+
if (start)
|
|
169
|
+
await stream(res, start);
|
|
170
|
+
});
|
|
171
|
+
router.post('/workflows/:name/resume', async (req, res) => {
|
|
172
|
+
const start = await admitResume(req, res);
|
|
173
|
+
if (start)
|
|
174
|
+
await respond(res, start, 'Workflow resume error');
|
|
175
|
+
});
|
|
176
|
+
router.post('/workflows/:name/resume/stream', async (req, res) => {
|
|
177
|
+
const start = await admitResume(req, res);
|
|
178
|
+
if (start)
|
|
179
|
+
await stream(res, start);
|
|
130
180
|
});
|
|
131
181
|
return router;
|
|
132
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/routes/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAejC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,iBAAiB,GAAG,iCAAiC,CAAC;AAO5D,SAAS,qBAAqB,CAAC,MAAqC;IAClE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;KAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAiB;IACpD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAE7C,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,MAAM,WAAW,GAAG,KAAK,EAAE,WAAwC,EAAE,EAAE;QACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACrE,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CACjB,GAAuC,EACvC,GAAa,EACwB,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC5B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,IAAI,aAAa,EAAE,WAAW,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CACf,GAAuC,EACvC,GAAa,EACc,EAAE;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7C,MAAM,WAAW,GACf,OAAO,CAAC,UAAU,IAAI,KAAK;YACzB,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,KAAK,EAAE,UAAU,EAAE,EAAE,CAC1B,CAAC,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE;YACxD,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YACpD,GAAG,UAAU;SACd,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EACvB,GAAuC,EACvC,GAAa,EACuB,EAAE;QACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACzF,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1B,WAAW,CAAC,GAAG,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACnD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpD,OAAO,KAAK,EAAE,UAAU,EAAE,EAAE,CAC1B,qBAAqB,CACnB,MAAM,CACJ,MAAM,WAAW,CAAC,WAAW,CAAC,CAC/B,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE;gBAC/B,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpD,UAAU,EAAE,IAAI;gBAChB,GAAG,UAAU;aACd,CAAC,EACF,YAAY,CACb,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EAAE,GAAa,EAAE,KAAoB,EAAE,KAAa,EAAE,EAAE;QAC3E,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAE/D,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YAE3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,WAAW,CACT,GAAG,EACH,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAC3E,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,GAAa,EAAE,KAAoB,EAAE,EAAE;QAC3D,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE9C,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE;YAC3B,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAExB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;gBACzB,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC5B,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,cAAc,EAAE,CAAC,IAAY,EAAE,MAAe,EAAE,QAAgB,EAAE,EAAE;oBAClE,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/E,CAAC;gBACD,WAAW,EAAE,CAAC,IAAY,EAAE,KAAY,EAAE,EAAE;oBAC1C,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE;wBACjC,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,OAAO;qBAC5D,CAAC,CAAC;gBACL,CAAC;gBACD,cAAc,EAAE,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;oBACjD,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtE,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;gBACpE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,MAAM,CAAC,aAAa,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;YAE5E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;gBAC9D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACrC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI;YACJ,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACzC,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAyB,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,KAAK,EAAE,GAAuC,EAAE,GAAa,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK;YAAE,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC7D,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,KAAK,EAAE,GAAuC,EAAE,GAAa,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK;YAAE,MAAM,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,KAAK,EAAE,GAAuC,EAAE,GAAa,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,KAAK;YAAE,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAChE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,KAAK,EAAE,GAAuC,EAAE,GAAa,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,KAAK;YAAE,MAAM,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { IncomingMessage } from 'http';
|
|
2
2
|
import type { Request, Response, NextFunction, Router } from 'express';
|
|
3
3
|
import type { Cogitator, Agent } from '@cogitator-ai/core';
|
|
4
|
-
import type { AgentRunResponse, AnonymousPolicy, AuthorizeThread, ContextPolicy, PendingApproval, RunLimits, SwaggerConfig, ThreadMessageRole, WorkflowRunRequestBody } from '@cogitator-ai/server-shared';
|
|
5
|
-
import type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision } from '@cogitator-ai/types';
|
|
4
|
+
import type { AgentRunResponse, AnonymousPolicy, AuthorizeThread, ContextPolicy, PendingApproval, RunLimits, SwaggerConfig, ThreadMessageRole, WorkflowResumeRequestBody, WorkflowRunRequestBody } from '@cogitator-ai/server-shared';
|
|
5
|
+
import type { CheckpointStore, Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision } from '@cogitator-ai/types';
|
|
6
6
|
export type { Message, ToolCall, ToolResult, RunResult, Workflow, WorkflowResult, WorkflowState, SwarmConfig, SwarmResult, SwarmRunOptions, StreamingWorkflowEvent, SwarmEvent, SwarmMessage, ToolApprovalDecision, PendingApproval, AgentRunResponse, };
|
|
7
7
|
export interface AuthContext {
|
|
8
8
|
userId?: string;
|
|
@@ -110,6 +110,14 @@ export interface CogitatorServerConfig {
|
|
|
110
110
|
* `websocket.deps`, since their upgrade request is not an Express `Request`.
|
|
111
111
|
*/
|
|
112
112
|
deps?: DepsFunction;
|
|
113
|
+
/**
|
|
114
|
+
* Where workflow runs keep their checkpoints. With a store, a run with
|
|
115
|
+
* `options.checkpoint: true` saves checkpoints owned by the caller, its answer names the
|
|
116
|
+
* last one as `checkpointId`, and `POST /workflows/:name/resume` (and `/resume/stream`)
|
|
117
|
+
* resumes from one of them. Without it such a run is refused with 400 and every resume
|
|
118
|
+
* answers 404 `CHECKPOINT_NOT_FOUND`.
|
|
119
|
+
*/
|
|
120
|
+
workflowCheckpoints?: CheckpointStore;
|
|
113
121
|
};
|
|
114
122
|
}
|
|
115
123
|
export interface AgentListResponse {
|
|
@@ -167,7 +175,10 @@ export interface WorkflowRunResponse {
|
|
|
167
175
|
output: unknown;
|
|
168
176
|
duration: number;
|
|
169
177
|
}>;
|
|
178
|
+
/** The last checkpoint of a run with `options.checkpoint` or of a resume */
|
|
179
|
+
checkpointId?: string;
|
|
170
180
|
}
|
|
181
|
+
export type WorkflowResumeRequest = WorkflowResumeRequestBody;
|
|
171
182
|
export interface WorkflowStatusResponse {
|
|
172
183
|
runId: string;
|
|
173
184
|
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
@@ -223,7 +234,7 @@ export interface ErrorResponse {
|
|
|
223
234
|
export type ExpressMiddleware = (req: CogitatorRequest, res: Response, next: NextFunction) => void | Promise<void>;
|
|
224
235
|
type ServerOptions = NonNullable<CogitatorServerConfig['config']>;
|
|
225
236
|
/** The options that stay unset when the server is not given them */
|
|
226
|
-
type UnsetServerOptions = 'limits' | 'authorizeThread' | 'deps';
|
|
237
|
+
type UnsetServerOptions = 'limits' | 'authorizeThread' | 'deps' | 'workflowCheckpoints';
|
|
227
238
|
/** The server's options with their defaults applied */
|
|
228
239
|
export type ResolvedServerConfig = Required<Omit<ServerOptions, UnsetServerOptions>> & Pick<ServerOptions, UnsetServerOptions>;
|
|
229
240
|
export interface RouteContext {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/express",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Express.js server adapter for Cogitator AI runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"node": ">=22.12.0"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@cogitator-ai/core": "0.
|
|
24
|
-
"@cogitator-ai/types": "0.
|
|
25
|
-
"@cogitator-ai/server-shared": "0.
|
|
23
|
+
"@cogitator-ai/core": "0.58.0",
|
|
24
|
+
"@cogitator-ai/types": "0.63.0",
|
|
25
|
+
"@cogitator-ai/server-shared": "0.9.0"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"express": ">=4.18.0"
|
|
29
29
|
},
|
|
30
30
|
"optionalDependencies": {
|
|
31
|
-
"@cogitator-ai/workflows": "0.14.
|
|
32
|
-
"@cogitator-ai/swarms": "0.14.
|
|
31
|
+
"@cogitator-ai/workflows": "0.14.4",
|
|
32
|
+
"@cogitator-ai/swarms": "0.14.3",
|
|
33
33
|
"ws": "^8.22.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@cogitator-ai/workflows": "0.14.
|
|
37
|
-
"@cogitator-ai/swarms": "0.14.
|
|
36
|
+
"@cogitator-ai/workflows": "0.14.4",
|
|
37
|
+
"@cogitator-ai/swarms": "0.14.3",
|
|
38
38
|
"@types/express": "^5.0.6",
|
|
39
39
|
"@types/supertest": "^7.2.1",
|
|
40
40
|
"@types/ws": "^8.18.2",
|